双链表(前驱,后继,逆置,替换).docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
双链表(前驱,后继,逆置,替换)

//主程序#includestdio.h#includemalloc.htypedef char elemtype;typedefstructlnode{elemtype data;structlnode *prior;structlnode *next;}dlinklist;extern void initlist(dlinklist *l);extern void destroylist(dlinklist *l);externintlistempty(dlinklist *l);externintlistlength(dlinklist *l);extern void displist(dlinklist *l);externintgetelem(dlinklist *l,inti,elemtype e);externintlocateelem(dlinklist *l,elemtype e);externintlistinsert(dlinklist *l,inti,elemtype e);externintlistdelete(dlinklist *l,inti,elemtype e);externintpriorelem(dlinklist *l,elemtypecur_e,elemtype pre_e);externintnextelem(dlinklist *l,elemtypecur_e,elemtype nex_e);extern void reverse(dlinklist *l);externintputelem(dlinklist *l,inti,elemtypecur_e);void main(){dlinklist *h;elemtype e,s,s2;int s1;printf((1)初始化单链表h\n);initlist(h);printf((2)采用尾插入法插入a,b,c,d,e元素\n);listinsert(h,1,a);listinsert(h,2,b);listinsert(h,3,c);listinsert(h,4,d);listinsert(h,5,e);printf((3)输出单链表h\n);displist(h);printf((4)单链表h长度=%d\n,listlength(h));printf((5)单链表h为=%s\n,(listempty(h)?空:非空));getelem(h,3,e);printf((6)单链表h的第3个元素=%c\n,e);printf((7)元素a的位置=%d\n,locateelem(h,a));printf((8)在第4个元素位置上插入f元素\n);listinsert(h,4,f);printf((9)输出单链表h:\n);displist(h);printf((10)删除h的第3个元素\n);listdelete(h,3,e);printf((11)输出单链表h\n);displist(h);printf(查找节点的前驱节点);printf(请输入节点\n);scanf(%c,s);if (!priorelem(h,s,e))printf(该节点没有前驱节点);elseprintf(该节点的前驱节点为:%c,e);printf(\n);if (!nextelem(h,s,e))printf(该节点没有后继节点);elseprintf(该节点的后继节点为:%c,e);printf(\n);printf(替换元素值操作);printf(请输入替换节点位置和值\n);scanf(%d %c,s1,s2);if(!putelem(h,s1,s2))printf(参数出错,元素替换不成功);else{printf(输出新的顺序表);displist(h);}reverse(h);printf((12)数据转置为:\n);displist(h);}//算法部分#includestdio.h#includemalloc.htypedef char elemtype;typedefstructlnode{elemtype data;structlnode *prior;structlnode *next;}dlinklist;voidinitlist(dlinklist *l){l=(dlinklist *)malloc(sizeof(dlinklist));l-prior=l-next=NULL;}voiddestroylist(dlinklist *l){dlinklist *p=l,*q=p-next;while(q!=NULL){free(p);p=q;p=p-next;}free(p);}intlistempty(dlinklist *l)

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档