Pagini recente » Cod sursa (job #952038) | Cod sursa (job #1978607) | Cod sursa (job #2240065) | Cod sursa (job #1825713) | Cod sursa (job #183274)
Cod sursa(job #183274)
#include<stdio.h>
#define in "schi.in"
#define out "schi.out"
struct nod{
int inf;
nod *next,*prev;
} *p,*v;
void add(int,int);
int main()
{
freopen(in,"r",stdin);
freopen(out,"w",stdout);
int n,i,x;
scanf("%d",&n);
scanf("%d",&x);
v=new nod;
v->inf=1;
v->next=0;
v->prev=0;
for(i=2;i<=n;i++)
{
scanf("%d",&x);
add(x,i);
}
p=v;
while(p)
{
printf("%d\n",p->inf);
p=p->next;
}
return 0;
}
void add(int poz,int nr)
{
p=v;
while(poz>1 && p->next)
{
p=p->next;
poz--;
}
if(poz>1)
{
nod *q=new nod;
q->inf=nr;
q->prev=p;
q->next=0;
p->next=q;
}
else
{
nod *q=new nod;
q->inf=nr;
q->next=p;
if(p!=v)
{
q->prev=p->prev;
p->prev->next=q;
}
p->prev=q;
if(p==v)
v=q;
}
}