首页 > 其他 > 详细

双向循环链表

时间:2020-04-22 20:16:04      阅读:60      评论:0      收藏:0      [点我收藏+]

为了提高访问效率,引入了双向链表的内容。但是双向链表需要占用更多内存,也并不是绝对有优势。


由于链表操作基本一致,只给出插入和删除操作。(其它参考上一篇(链表))



/*
------------------------------------------ 函数名:remove 描 述:删除指定位置的数据 入口参数:位置 出口参数:enum returninfo枚举型,判断是否成功 -------------------------------------------*/ enum returninfo remove(int position) { int i; PNODE searchp = headp->next; //平时定义的followp在双向链表中不需要哦, for (i = 0; i < position && searchp != headp; i++) { searchp = searchp->next; } searchp->previous->next = searchp->next; searchp->next->previous = searchp->previous; free(searchp); count--; return success; } /*------------------------------------------ 函数名:insert 描 述:插入数据到指定位置 入口参数:位置,数据 出口参数:enum returninfo枚举型,判断是否成功 -------------------------------------------*/ enum retuninfo insert(int position, int item) { int i; PNODE searchp = headp; PNODE newnodep = (PNODE)malloc(len); for (i = 0; i < position && searchp->next != headp; i++) { searchp = searchp->next; } newnodep->next = searchp->next; searchp->next->previous = newnodep; seachhp->next = newnodep; newnodep->previous = searchp; count++; return success; }

  

双向循环链表

原文:https://www.cnblogs.com/WineinSeptember/p/12755457.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!