【数据结构与算法】之单向循环链表的创建/遍历/插⼊/查找/删除算法实现
生活随笔
收集整理的這篇文章主要介紹了
【数据结构与算法】之单向循环链表的创建/遍历/插⼊/查找/删除算法实现
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、單向循環(huán)鏈表簡介
- 單向循環(huán)鏈表是一個收尾相接的鏈表,將單鏈表的最后一個指針域改由NULL改為指向表頭結(jié)點這就是單鏈式的循環(huán)鏈表,并稱為循環(huán)單鏈表。
- 帶頭結(jié)點的循環(huán)單鏈表的各種操作的算法實現(xiàn)與帶頭結(jié)點單鏈表的算法實現(xiàn)類似,差別僅在于算法判別當前結(jié)點p是否為尾結(jié)點的條件不同。單鏈表中的判別條件為p!=NULL或p->next!=NULL,而單循環(huán)鏈表判別條件是p!=L或p->next!=L。
- 在循環(huán)單鏈表中附設尾指針有時候比附設頭指針更簡單。如:在用頭指針的循環(huán)單鏈表中找a1的時間復雜度是O(1),找an需要從頭找到尾,時間復雜度是O(n),如果用為指針rear,找開始結(jié)點和終端結(jié)點的存儲位置分別是rear->next->next和rear。
二、單向循環(huán)鏈表的創(chuàng)建
① 思路
- 第一次創(chuàng)建:如果鏈表為空,創(chuàng)建新的結(jié)點,并將新結(jié)點的next指向自身((*L)->next = (*L)),否則尋找尾結(jié)點;
- 不是第一次創(chuàng)建:找到鏈表結(jié)尾的位置,將尾節(jié)點next指向新結(jié)點,并將新結(jié)點的next等于首元節(jié)點(新結(jié)點的next = (*L)
總結(jié)
以上是生活随笔為你收集整理的【数据结构与算法】之单向循环链表的创建/遍历/插⼊/查找/删除算法实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS逆向之深入解析MachO文件
- 下一篇: 【数据结构与算法】之双向链表的创建/遍历