c10结构体、共用体及枚举类型要素.pptVIP

  • 1
  • 0
  • 约 42页
  • 2016-12-29 发布于湖北
  • 举报
在链表中删除结点 过程 从p1指向的第一个结点开始,检查其数据是否等于给定的关键字(如学号),如果相等就将该结点删除,否则p1后移一个结点,再如此进行下去,直到遇到表尾为止。 如果删除的是第一个结点(由p1指向),例如,删除学号为100的学生结点,头指针指向第二个结点,操作为:head=p1-next,如图10-6所示 如果要删除的不是第一个结点,例如,删除学号为102的学生结点,即让学号为101的学生结点(由p2指向)的next指针域指向学号为103的学生结点,操作为:p2-next=p1-next,如图10-7所示 例如:编写链表删除函数,根据输入的学号删除学生结点。 struct stu *del(struct stu *head,int num) { struct stu *p1; /*p1指向要删除的结点*/ struct stu *p2; /*p2指向要删除的结点的前驱结点*/ if(head==NULL) /*空链表*/ printf(The list is NULL\n); else { p1=head; while(p1!=NULLp1-num!=num) { p2=p1;p1=p1-next;}

文档评论(0)

1亿VIP精品文档

相关文档