单向链表
单向链表在物理上不是连续的,但是在逻辑上是连续的,有关链表的不啰嗦了,自己百度去
直接上代码,反正自己看
1.定义节点
next是指下一个节点,套娃,疯狂套
2.定义SingleLinkedList来管理节点
在链表中,想找啥必须从头开始遍历,因为在物理上他们是不连续的,每个节点都持有下个节点的地址
①添加方法(添加到最后,从屁股进去)
头节点我们不要去动他,造一个临时的节点,这个节点和头节点一样,我们动它就行了,逻辑看代码应该很容易明白。
算了,啰嗦一下吧,反正写给自己看的。
temp.next就是头节点的下一个节点,如果是空的话,说明就到底了
如果不为空的话,说明下个节点还存在,直接temp=temp.next,就是往下走一格,然后循环这个,直到下个节点为空,说明到底了
循环出来以后,只需要将最后一个节点的next指向我们新的节点就可以了,就连上去了,我不知道我为什么这么啰嗦。。。。好了,下一个。。
②遍历链表
遍历因为从第一个开始,头节点不算,所以temp为head的下一个节点,即第一个节点,要遍历链表,先判断第一个节点是否存在,即head.next是否存在,不存在的话,说明链表是空链表,如果链表不为空的话,就继续往下走
输出当前节点信息,然后让节点往后移一位,继续如上操作,直到下个节点为空,说明到底了,就break结束
③添加到指定位置
④更新操作
⑤删除操作