背景
今天覆習 以鏈式儲存方式 實現的線性表結構,簡稱為鍊錶。這裡我們只介紹單鏈表
基本理論
**實現:
/// /// 鍊錶結點
///
/// 結點儲存資料的資料型別
public class snode
/// /// 指標域
///
public snodenext
public snode(t data)
public snode(t data, snodenext)
}
/// /// 單鏈表實現
///
/// 鍊錶儲存資料的型別
public class slinklist: ilinearlistwhere t : icomparable
/// /// 初始化單鏈表
///
public slinklist()
/// /// 獲取對應索引處的結點
///
///
///
public snodelocate(int index)
return temp;
}/// /// 獲取或設定對應索引處結點的資料
///
///
///
public t this[int index]
set}
/// /// 向單鏈表頭部插入資料
///
///
public void insertatfirst(t data)
/// /// 向單鏈表尾部插入資料
///
///
public void insertatrear(t data)
/// /// 向單鏈表對應索引處插入資料
///
///
///
public void insert(int index, t data)
}/// /// 判斷單鏈表是否為空
///
///
public bool isempty()
/// /// 清除單鏈表
///
public void clear()
/// /// 移除對應索引處的結點
///
///
public void remove(int index)
/// /// 查詢單鏈表中是否存在對應資料,若有返回其索引;若沒有,返回-1
///
///
///
public int search(t data)
return i == length ? -1 : i;
}}
線性表 鏈式儲存實現
定義 邏輯上連續,物理上可以分散的線性表儲存方式。可以充分利用不連續空間,但是由於需要儲存後繼節點指標,故空間開銷大。結構定義 定義乙個頭節點 其儲存帶值節點個數 和 第乙個帶值節點指標 typedef struct linklistlist 基本操作 list createlist l data ...
線性表鏈式儲存
線性表鏈式儲存結構的建立 刪除最小值結點 值唯一 刪除某個指定值 不唯一 就地逆置 反向輸出 遞增排序 刪除重複結點 根據奇偶序號劃分成兩個帶頭結點的單鏈表。include stdio.h include stdlib.h typedef struct lnode lnode,llist void ...
線性表 鏈式儲存
概念 邏輯上相鄰的兩個資料元素在物理位置上可能相鄰也可能不相鄰,這中儲存結構為非順序映像或鏈式映像。特點 線性表的鏈式儲存結構的特點是可以用一組任意的儲存單元來儲存線性表中的資料,這組儲存單元可以是連續的,也可以是不連續的。由於這種特性,單鏈表中要取得第i個元素,必須從第乙個元素開始尋找,因此單鏈表...