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条)

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?