国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

鏈表的c語言實現(六)

2019-11-17 05:20:56
字體:
來源:轉載
供稿:網友
一、循環鏈表
循環鏈表是與單鏈表一樣,是一種鏈式的存儲結構,所不同的是,循環鏈表的最后一個結點的指針是指向該循環鏈表的第一個結點或者表頭結點,從而構成一個環形的鏈。
循環鏈表的運算與單鏈表的運算基本一致。所不同的有以下幾點:
1、在建立一個循環鏈表時,必須使其最后一個結點的指針指向表頭結點,而不是象單鏈表那樣置為NULL。此種情況還使用于在最后一個結點后插入一個新的結點。
2、在判定是否到表尾時,是判定該結點鏈域的值是否是表頭結點,當鏈域值等于表頭指針時,說明已到表尾。而非象單鏈表那樣判定鏈域值是否為NULL。二、雙向鏈表
雙向鏈表其實是單鏈表的改進。
當我們對單鏈表進行操作時,有時你要對某個結點的直接前驅進行操作時,又必須從表頭開始查找。這是由單鏈表結點的結構所限制的。因為單鏈表每個結點只有一個存儲直接后繼結點地址的鏈域,那么能不能定義一個既有存儲直接后繼結點地址的鏈域,又有存儲直接前驅結點地址的鏈域的這樣一個雙鏈域結點結構呢?這就是雙向鏈表。
在雙向鏈表中,結點除含有數據域外,還有兩個鏈域,一個存儲直接后繼結點地址,一般稱之為右鏈域;一個存儲直接前驅結點地址,一般稱之為左鏈域。在c語言中雙向鏈表結點類型可以定義為:
typedef strUCt node
{
int data; /*數據域*/
struct node *llink,*rlink; /*鏈域,*llink是左鏈域指針,*rlink是右鏈域指針*/
}JD;
當然,也可以把一個雙向鏈表構建成一個雙向循環鏈表。
雙向鏈表與單向鏈表一樣,也有三種基本運算:查找、插入和刪除。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洞头县| 凌海市| 辉南县| 奇台县| 望谟县| 汝阳县| 久治县| 漳平市| 乡宁县| 南乐县| 金堂县| 三台县| 白玉县| 巴林左旗| 左贡县| 弥勒县| 米易县| 松桃| 禹州市| 高尔夫| 丰顺县| 黔西| 右玉县| 阳信县| 色达县| 双流县| 徐闻县| 封开县| 长武县| 石泉县| 桃源县| 辰溪县| 卫辉市| 乐亭县| 洪雅县| 孙吴县| 海口市| 紫金县| 新邵县| 上杭县| 怀柔区|