/*-------------------------------------------------*/
/*--------------逆序重组链表invert()-------*/
/*-------------------------------------------------*/
struct student *invert(struct student *head)
{
struct student *p1,*p2;
p1=head;
p2=p1->next;
head=p2->next;
p1->next=null;
while(head->next!=null)
{
p2->next=p1;
p1=p2;
p2=head;
head=head->next;
}
head->next=p2;
p2->next=p1;
return head;
}
main()
{
int number1,number2;
struct student *head;
head=creat();
view(head);
printf("the n that you want to insert:\n");
scanf("%d",&number1);
insert(head,number1);
view(head);
printf("the node that you want to delete:\n");
scanf("%d",&number2);
delnode(head,number2);
view(head);
printf("inverte the list:\n");
view(invert(head));
getch();
}