单链表就好比是一条路走到黑,无法回头,如果要访问任意结点,每次只能从头访问,也就是顺序访问,它的遍历只能是一个方向,不能后退
循环链表中没有NULL指针,涉及遍历时,终止条件不再是单链表的P!=NULL;而是判断他们是否等于某一个特定的指针,单链表只能从已知结出发,访问其后续结点,而循环链表从已知结点出发,可以访问链表中所有结点。
虽然有了循环链表,但是如果数据庞大,想要得到已知结点前面的数据,再跑一圈的成本有点大,这个时候,双向链表就出来了,双向链表增加了前驱指针,它可以随心所欲,向前,或者是向后访问。
单链表:如果访问任意结点每次只能从头开始顺序向后访问。 单循环链表:可以从任何一个结点开始,顺序向后访问到达任意结点。 双向链表:可以从任何结点开始任意向前向后双向访问。 在多数情况下的选择是使用双向循环链表,这样就完美了。
若有错误,欢迎指正批评,欢迎讨论。 一生之中一定会遇到某个人,他打破你的原则,改变你的习惯,成为你的例外。其实全世界最幸福的童话,不过是一起度过柴米油盐的岁月。