6-2 采用头插法创
con* creatList()
{
int n,i,j;
con* head ,*tail,*p,*ptr;
con* ptemp;
head = tail = NULL;
scanf("%d",&n);
for(i=0; i<n; i++)
{
p = (con*)malloc(sizeof(con));
scanf("%d",&p->xh);
scanf("%s",p->name);
scanf("%s",p->tel);
p->next =NULL;
if(head==NULL)
{
head = p;
tail = p;
}
else
{
tail->next = p;
tail = p;
}
}
for(i=0; i<n; i++)
{
p = head;
for(j=0; j<n-1-i; j++)
{
ptemp = (con*)malloc(sizeof(con));
ptr = p->next;
ptemp->xh =p->xh ;
p->xh = ptr->xh ;
ptr->xh = ptemp->xh ;
strcpy(ptemp->name,p->name);
strcpy(p->name,ptr->name);
strcpy(ptr->name,ptemp->name);
strcpy(ptemp->tel,p->tel);
strcpy(p->tel,ptr->tel);
strcpy(ptr->tel,ptemp->tel);
free(ptemp);
p = p->next ;
}
}
return head;
}