jbb158 2017-11-04 07:56 采纳率: 0%
浏览 758

【小白 用c语言写了一个链表,找不出来错】

#include
#include
typedef struct ListNode{
struct ListNode *next;
int data ;
}Node,*Pnode;
void init(Pnode Phead){
Phead = (Pnode)malloc(sizeof(Node));
Phead->next=NULL;
}
void rearinsert(Pnode Phead,int n,int a[]){
Pnode Prear,Pnew;
Prear=Phead;
for(int i=0;i Pnew = (Pnode)malloc(sizeof(Node));
Pnew->data= a[i];
Pnew->next=NULL;
Prear->next=Pnew;
Prear=Pnew;
}
}
void head_insert(Pnode Phead,int n,int a[]){
Pnode Pnew;
for(int i=0;i Pnew=(Pnode)malloc(sizeof(Node));
Pnew->data= a[i];
Pnew->next=Phead->next;
Phead->next=Pnew;
}
}
void display(Pnode list){
Pnode p=list->next;
while(p!=NULL){
printf("%d",p->data);
printf(" ");
p=p->next;
}
}
void destory(Pnode list){
Pnode p,pre;
p=pre=list;
while(pre!=NULL){
pre=p->next;
free(p);
p=pre;
}
free(pre);
}
int select(Pnode list ,int n){// 提取i号元素的数据
n=n-1;
Pnode p=list->next;
for(int i=0;i<=n;++i){
p=p->next;
}
return p->data;
}

void main(){
Pnode list;
int a[]={3,5,6,9};
int n=4;
init(list);
rearinsert(list,4,a);
display(list);
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-11-04 16:04
    关注

    首先,运行程序,测试它,看有什么不对。如果无法编译,根据编译器报错找到出错的行。
    运行程序出错的话,你的程序有好几个函数,比如插入、显示、查找等等,总能找到出错的函数吧。
    然后调试这个函数,看哪一步骤不对。
    就算你实在找不到哪里错,也请你做完上面三步以后再提问!

    评论

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题