循环链表分两种,一种是单向循环链表,另外一种是双向循环链表;分别如下图所示:


从图中我们可以看到,单向循环链表和单线链表相差不多,只是最后一个元素的指向不一样,单向链表指向的是null,单向循环链表指向的是第一个节点,而双向链表和双向循环链表也是存在指向不一样,双向链表的第一个节点的prev和最后一个节点的next指向都是null,而双向循环链表第一个节点的prev指向的是最后一个节点,而最后一个节点的next指向的是第一个节点,由此可得,在代码层面的修改,只要修改添加方法,和移除方法就可以了
单向循环添加元素方法add(int index,E element)

插入元素也需要分几种情况说明一下
从0到无:





多元素插入index=0




1个元素起后面添加元素


好了,单向循环链表的添加方法到此结束,下面的单向链表的移除方法,还有双向循环链表的添加元素和移除元素方法,就只给出源码,至于思路,大家可以参考我的方式,画图思考一下,相差不多,但是画图麻烦,就不一一画上了,有兴趣自行参考吧
单向循环移除元素方法remove(int index)

双向添加元素方法add(int index,E element)

双向循环移除元素方法remove(int index)

网友评论