#include "stdio.h"
#define MAXSIZE 10
typedef struct{
int data;
int cur;
}component,slinklist[MAXSIZE];
main()
{int mallocsl(slinklist);
slinklist link;
int i,head,p;
int num_a;
for(i=0;i<MAXSIZE-1;i++)
link[i].cur=i+1;
link[i].cur=0;
head=mallocsl(link);
link[head].cur=0;
printf("put in the num of a new list,not over 10:/n");
scanf("%d",&num_a);
getchar();
printf("now we init list ,put in the int data number: %d:/n",num_a);
for(i=0;i<num_a;i++)
{
p=mallocsl(link);
scanf("%d",&link[p].data);
link[p].cur=link[head].cur;
link[head].cur=p;
}
printf("/nxin jian biao nei rong:/n");
for(i=head;link[i].cur!=0;i=link[i].cur)
printf("xiabiao:%-5d data:%-5d,cur:%-5/d/n",link[i].cur,link[link[i].cur].data,link[link[i].cur].cur);
printf("/nbei yong lian biao nei rong:/n");
for(i=0;link[i].cur!=0;i=link[i].cur)
printf("cur:%-5d, data:%-5d,cur:%-5d/n",link[i].cur,link[link[i].cur].data,link[link[i].cur].cur);
printf("/nyuan shi struct shu zu/n");
for(i=0;i<MAXSIZE;i++)
printf("cur:%-5d,data:%-5d,next cur:%-5d/n",link[i].cur,link[i].data,link[link[i].cur].cur);
printf("/put in a number to over:");
scanf("%d",&i);
}
int mallocsl(slinklist link)
{
int i=link[0].cur;
link[0].cur=link[i].cur;
return i;
}