Pagini recente » Cod sursa (job #2062463) | Cod sursa (job #1955500) | Cod sursa (job #3270831) | Cod sursa (job #1454410) | Cod sursa (job #523332)
Cod sursa(job #523332)
#include<iostream>
using namespace std;
struct nod
{
int info;
nod* urm;
} *L;
void adauga(int x)
{
nod *a=new nod;
a->info=x;
a->urm=L;
L=a;
}
void adauga2(nod* no1,nod* no2,int x)
{
nod *a=new nod;
a->info = x;
a->urm=no2;
no1->urm=a;
}
int x,N;
int main()
{
ifstream fin("algsort.in","r",stdin);
ofstream fout("algsort.out","w",stdout);
fin>>N;
for(int i=1;i<=N;++i)
{int ok=0;
nod *p;
cin>>x;
if(i==1)
adauga(x);
else if(x<=L->info) //in caz ca x ii cel mai mic element il adaugam normal
{
adauga(x);
}
else
{
p=L;
int ok2=1;
if(p->urm)
while(ok2)
{
if(p->urm->info<x)
p=p->urm;
if(p->urm==NULL||p->urm->info>=x)
ok2=0;
}
// cout<<"A";
ok=1;
}
if(ok)
adauga2(p,p->urm,x);
}
for(nod* a=L;a;a=a->urm)
fout<<a->info<<" ";
}