国产探花免费观看_亚洲丰满少妇自慰呻吟_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;
當然,也可以把一個雙向鏈表構建成一個雙向循環鏈表。
雙向鏈表與單向鏈表一樣,也有三種基本運算:查找、插入和刪除。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 焦作市| 遂平县| 深圳市| 公安县| 定襄县| 岳普湖县| 辛集市| 温州市| 榕江县| 鞍山市| 工布江达县| 清水河县| 即墨市| 麻江县| 剑川县| 广东省| 出国| 叶城县| 花莲市| 梁平县| 平定县| 定西市| 武平县| 和政县| 辽阳市| 庐江县| 丰顺县| 冕宁县| 邳州市| 齐齐哈尔市| 宜宾市| 石泉县| 永州市| 宣恩县| 大悟县| 伊吾县| 杭锦后旗| 集贤县| 茌平县| 乳山市| 龙川县|