线性表----循环链表和静态链表
生活随笔
收集整理的這篇文章主要介紹了
线性表----循环链表和静态链表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、循環鏈表
1.1 循環單鏈表
循環單鏈表和單鏈表的區別在于,表中最后一個結點指針不在是null,而是頭指針,從而使整個鏈表形成一個環
- 此時判斷單鏈表是否為空,條件就是頭結點的指針是否等于頭指針
- 此時單鏈表相當于一個環,而且還是一個有方向的環,頭指針表明這個環的入口地址,然后順著next指針走下去,所以循環單鏈表的插入、刪除算法與單鏈表幾乎一樣,所不同就是表尾的操作。
- 如果經常對表尾操作,可以設個尾指針(表名是頭指針),對表頭和表尾的操作時間復雜度都是0(1)
1.2循環雙鏈表
相對于雙鏈表,不同的是循環雙鏈表的頭結點prior還要指向表尾,尾部的next還要指向頭結點,其他都一樣,循環雙鏈表相當于有兩個環,兩個不同方向的環,頭指針(表名)告訴我們這個循環雙鏈表的入口地址,我們可以向兩個方向操作數據
- 判斷循環雙鏈表是否為空,只要頭結點的prior和next都等于頭指針
2、靜態鏈表
靜態鏈表沒有通過指針來實現,是通過數組來實現線性表的鏈式存儲結構
描述:
- 靜態鏈表的結點也有數據域和指針域,但指針域存放的不再是地址,而是結點的相對地址(就是數組下標)
- 因為是數組來描述,所以靜態鏈表也要預先分配一塊連續的內存空間
- 數組第一個元素不存放數據(和頭結點和相似),他的指針域存放第一個元素所在的數組下標
- 靜態鏈表的結束標志有很多,上圖中-1就是,因為數組下標不可能為-1
- 靜態鏈表對不支持指針的高級語言(Basic)使用很方便
總結
以上是生活随笔為你收集整理的线性表----循环链表和静态链表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 170平米装修多少钱啊?
- 下一篇: 女人不惑剧情介绍