回 帖 发 新 帖 刷新版面

主题:怎么写这个程序

怎么写这段程序:
链表是有序的,现在删除数据x,若x不存在,输出一段提示信息。
(有头结点和无头结点两种情况)

回复列表 (共1个回复)

沙发

type struct linknode
{ char data;
  struct link *next
 }
linnode;
linnode *head;
int n;                //定义n为线链表长度
void DelList(char x)  //删除结点元素
{
   node *p,*q;        //定义结点指针p和q
   if (head==NULL)
     {
        printf("\t\t链表不存在!\n");
        return;      //返回
     }
   if (head->next==NULL)
     {
        printf("\t\t链表已经为空! \n");
        return; 
      }

    q=head;
    p=head->next;
    while(p!=NULL&&p->data!=x)
     { 
       q=p;
       p=p->next;
      }
    if(p!=NULL)
     {
        q->next=p->next;
        delete p;
        n--;
        printf("\t\t %c已经删除!",x);
      }
     else
         printf("\t\t未找到数据x! \n");
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册