qq_32481541 2016-03-27 12:21 采纳率: 100%
浏览 1362
已采纳

我想问一下这个应该怎么改?

#include
#include

struct node
{
int data;
struct node *next;
};
typedef struct node NODE;
NODE *ApplyNODE(int x)
{
NODE *p;
p=(NODE *) malloc (sizeof(NODE));
p->data=x;
p->next=NULL;
return(p);
}
NODE *InitList()
{
NODE *head;
head=(NODE *) malloc (sizeof(NODE));
head->next=NULL;
return(head);
}
NODE *creat(int n)//创建链表

{

NODE *head,*p,*q;

int i,m,x;
printf("\nInput the length of the line:");
scanf("%d",&m);
head=q=InitList();
printf("\nInput %d datas:",m);
head=p=q=(NODE *)malloc(sizeof(NODE));//创建节点

for(i=0;i {
if(q->next!=NULL)

{

scanf("%d",&x);
p=ApplyNODE(x);
q->next=p;//q->next保存p,q指向最后一个节点

q=p;

p=(NODE *)malloc(sizeof(NODE));//创建下一个节点

}

}

q->next=NULL;

return head;

}

NODE *search(NODE *head,int x)//查找数据

{
NODE *p=head;

p=head->next;
while((p!=NULL)&&(p->data!=x))
p=p->next;
return(p);

}
NODE *delete(NODE *head, int x)//删除节点

{
NODE *q;
q=head;
while(q->next->data!=x)
q=q->next;
q->next=q->next->next;

return(head);

}
void Display(NODE *head)
{
NODE *p;
printf("\nThe line are:");
p=head->next;
while(p!=head)
{
printf("%d",p->data);
p=p->next;
}
}
main()
{
int n,x;
NODE *head;
head=creat(n);
head=delete(head,x);
Display(head);
search(head,x);

}

  • 写回答

4条回答

  • threenewbee 2016-03-27 12:51
    关注

    delete是关键字不能作为函数名

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站