线性链表的创建 查找 插入 删除 c语言.docxVIP

  • 1
  • 0
  • 约2.75千字
  • 约 5页
  • 2022-09-22 发布于湖南
  • 举报

线性链表的创建 查找 插入 删除 c语言.docx

线性链表的创建 查找 插入 删除 c语言 线性链表的创建查找插入删除c语言 线性链表的创建period;查找period;插入period;删除lpar;c语言rpar; 线性链表的建立、搜寻、填入、删掉(c语言) #include #include #defineok1 #defineerror0 #defineelemtypeint typedefintstatus; typedefstructlnode elemtypedata; structlnode*next; elemtype*elem; intcur; }lnode,*linklist; voidprintlist(linklistl) lnode*q; q=l;q-next=l-next;printf(您的线性链表为:); while(q-next!=null) {q=q-next; printf(%d,q-data); printf(\n); statuslistinsert_l(linklistl,inti,elemtypee) lnode*p,*s; intj=0; while(pj p=p-next; if(!p||ji-1) returnerror; s=(linklist)malloc(sizeof(lnode)); s-data=e; s-next=p-next; p-next=s; returnok; }//在链表对应边线填入数字 statuslistdelete_l(linklistl,inti,elemtypee) lnode*p,*q; intj=0; while(p-nextj p=p-next; if(!(p-next)||ji-1) returnerror; q=p-next; p-next=q-next; e=q-data; free(q); printf(删掉的数字就是:%d\n,e); returnok; }//按边线删掉 statuslistdelete(linklistl,inti,elemtypee) lnode*p; i=1;p=l;while(e!=p-next-data) {}p=p-next;i++; if(e==p-next-data) p-next=p-next-next; printf(删除的数字所在位置是:%d\n,i); returnok; returnerror; }//按数字删掉 voidcreatelist_l(linklistl,intn) structlnode*p; l=(linklist)malloc(sizeof(lnode)); l-next=null; printf(输入链表数据:); for(inti=1;i p=(linklist)malloc(sizeof(lnode)); scanf(%d,p-data); p-next=l-next;l-next=p; }//建立链表 intlocateelem_l(linklistl,elemtypee) lnode*p; inti=1;p=l-next;while(e!=p-data){}p=p-next;i++; printf(您搜寻数字%d在链表上的边线为:%d\n,e,i);return0; intmain() inti,n; linklistmylinklist; printf(恳请输出链表中数字的数目:); scanf(%d,n); createlist_l(mylinklist,n); printlist(mylinklist); for(;;) printf(请选择操作:0、查找;1、插入;2、删除;3、退出\n请输入您的选择:); scanf(%d,i); while(i3) printf(输出错误,恳请再次输出!\n恳请输入您的挑选:);scanf(%d,i); switch(i) case0: printf(输入想要查找的数字

文档评论(0)

1亿VIP精品文档

相关文档