数据结构 链表的删除

来源:互联网 发布:四十知天命 五十 编辑:程序博客网 时间:2024/06/01 07:45

/**********链表的删除函数*************/
//当删除成功返回表的头结点,失败则返回NULL
//此函数是基于不带表头的链表的
linck* Deletelinck(linck *root, int data)
{
 linck *ptr, *pre;
 ptr =  root->next; 
 pre = root;
 if(data == pre->x)  //删除表头
 {
  root = root->next;
  return root;
 }
 while(ptr != NULL)
 {
  if(data == ptr->x)
  {
   pre->next = ptr->next;
   return root;
  }
  pre = ptr;
  ptr = ptr->next;
 }
 return NULL;
}