clnkdelx.c

来自「《数据结构》教材源程序,可以让你轻松的根据教材学习数据结构」· C语言 代码 · 共 31 行

C
31
字号
 /*****************************************************/
 /*         在循环单链表中删除一个值为x的结点         */
 /*   文件名clnkdelx.c,函数名delete_num_clink_list()  */
 /*****************************************************/
 node *delete_num_clink_list(node *head,datatype x)
 {
   node *pre=NULL,*q;/*q用于查找值为x的结点,pre指向q的前驱结点*/
   if(!head)/*表为空,则无法做删除操作*/
     {
       printf("\n表为空,则无法做删除操作!");
       return NULL;
     }
   q=head;/*从第1个结点开始准备查找*/
   while(q->next!=head&&q->info!=x)/*没有找遍整个表并且没有找到*/
     {
       pre=q;
       q=q->next;/*pre为q的前驱,继续查找*/
     }/*循环结束后,pre为q的前驱*/
    if(q->info!=x)/*没找到*/
      {
        printf("没有找到值为%d的结点!",x);
      }
     else   /*找到了,下面要删除q*/
      {
        pre->next=q->next;/*删除q指向的结点*/
        free(q);/*释放空间*/
      }
   return head;
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?