文章来源:http://blog.seclibs.com/数据...git
以前在链表那一节说了单链表、双向链表和循环链表,前面已经把单链表和双向链表用代码实现过了,当时没有实现循环链表是在实现的过程当中有一点没有想明白,今天在实现栈的时候忽然相通了,就把这两条给补上。github
循环链表有两种实现方式,循环单链表和循环双向链表函数
由于在前面的实现过程当中,个人考虑不是很全面,致使后面在它们的基础上进行修改的时候出现了不少问题,在循环链表的实现当中,我在几乎每个函数前面都加了一条语句struct link* x = list;为了将链表头结点的内存地址给保留下来,在前面的实现当中,为了保证插入数据的时候在末尾插入,我将list的值进行了移动,致使如今须要头结点的内存地址时没有任何的保留了。spa
若是须要下载代码请移步至文末code
循环单链表blog
循环双向链表内存
代码:rem
循环单链表:GitHubget
循环双向链表:GitHub博客
文章首发公众号和我的博客:
公众号:无意的梦呓(wuxinmengyi)