C语言——链表笔记
我們至少可以用兩種方式存儲數據
1、數組
優點:存儲速度快
缺點:需要一個連續的很大的內存;插入和刪除元素的效率很低。
數組每個單元只存儲元素的實際值
2、鏈表
優點:插入刪除元素的效率高;不需要一個連續大的內存
缺點:查找元素效率低
鏈表每個單元分兩部分,左邊存儲實際元素值,右邊存儲下一個元素的指針
鏈表術語:
頭結點:頭結點的數據類型和首節點的類型一樣;頭結點是首節點前面的那個節點;頭結點并不存儲有效數據;設置頭結點的目的是為了方便對鏈表的操作
頭指針:存放頭結點地址的指針變量;知道頭指針就可以不用知道頭結點(*頭指針 == 頭結點)
首節點:存放第一個有效數據的節點;知道首節點就可以不用知道尾節點(因為尾節點的指針域(右側)為空)
尾節點:存放最后一個有效數據的節點
確定一個數組需要兩個參數:數組的首地址,數組的長度
確定一個鏈表只需要一個參數:頭指針
頭指針和頭結點的異同:
頭指針是指鏈表指向第一個節點的指針,若鏈表有頭結點,則是指向頭結點的指針;
頭指針具有標識作用,所以常用頭指針冠以鏈表的名字;
無論鏈表是否為空,頭指針均不為空。頭指針是鏈表的必要元素。
頭結點是為了操作的統一和方便而設立的,放在第一元素的節點之前,其數據域一般無意義(也可存放鏈表的長度);
有了頭結點,對在第一元素節點前插入節點和刪除節點,其操作與其它結點的操作就統一了;
頭結點不一定是鏈表的必要元素。
總結
- 上一篇: 宁波银行贷款利率
- 下一篇: s12乌鸦大乱斗出装 诺克萨斯统领出什么