单链表的创建、插入、删除、倒置操作[2]

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 smoilbig 的 blog

/*-------------------------------------------------*/
/*--------------逆序重组链表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();
}

本文关键:单链表的创建、插入、删除、倒置操作
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top