文章目录
(一)单向循环链表:简介
(二)单向循环链表:add
(三)单向循环链表:remove
(四)单向循环链表:接口测试
(一)单向循环链表:简介
在单向链表的基础上,最后一个节点的next指向第一个节点,就是单向循环链表
我们只需要修改add()
方法和remove()
方法,因为只有增删才需要维护那一根线
(二)单向循环链表:add
我们只需要考虑往0号节点的位置插入节点的情况,代码如下:
要考虑只有1个节点的情况(add后),如下:
修改后的代码如下:
(如果把size=0传入node(int index)
方法,会抛出异常,要做特殊处理)
(三)单向循环链表:remove
同样要考虑只有1个节点的情况(remove前),代码如下:
(如果把size=1传入node(int index)
方法,会抛出异常,要做特殊处理)
(四)单向循环链表:接口测试
在Node内部类中编写toString()
方法,如下:
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(element).append("_").append(next.element);
return sb.toString();
}
效果如下: