線性表是最簡單、最基本、最常用的一種線性結構。它包括兩種儲存方式:順序儲存方式和鏈式儲存方式。
一、線性表的定義
* 線性表是零個或多個資料元素的集合
* 線性表中資料元素之間是有順序的
* 線性表中的資料元素個數是有限的
* 線性表中資料元素的型別必須相同
> 定義:線性表是具有相同型別的 n (>=0)個資料元素的有限序列
(a0, a1, a2 ..., an) ai表示項,n表示長度
二、線性表的性質
> 性質
* a0為線性表的第乙個元素,只有乙個後繼
* an為線性表的最後乙個元素,只有乙個前驅
* 除a0和an外的其它元素ai,既有前驅又有後繼
* 線性表能夠逐項訪問和順序訪問
一、線性表操作的實現
* 線性表在程式中表現為一種特殊的資料型別
* 線性表的操作在程式中的表現為一組函式
如下例項:
list.h
#ifndef _eg_2_1_h_
#define _eg_2_1_h_
typedef void list;
typedef void listnode;
// 該方法用於建立並且返回乙個空的線性表
list* list_create();
// 該方法用於銷毀乙個線性表list
void list_destroy(list* list);
// 該方法用於將乙個線性表list中的所有元素清空,使得線性表回到建立使的初始狀》 態
void list_clear(list* list);
// 該方法用於返回乙個線性表list中的所有元素個數
int list_length(list* list);
// 該方法用於向乙個線性表list的pos位置處插入
// 新元素 node,返回1表示插入成功,0表示插入失敗
int list_insert(list* list, listnode* node, int pos);
// 該方法用於獲取乙個線性表list的pos位置處的元素返回值為pos位置處的元素,nul l表示獲取失敗
listnode* list_get(list* list, int pos);
// 該方法用於刪除乙個線性表list的pos位置處的元素返回值為被刪除的元素,null表示刪除失敗
listnode* list_delete(list* list, int pos);
#endif
一 線性表的本質和操作
1 線性表 線性表 list 的表現形式 線性表的抽象定義 線性表是具有相同型別的 n geq0 個資料元素的有限序列 a 0,a 1,a a i 是表項 資料元素 n 是表長度 2 線性表的性質線性表的常用操作 線性表在程式中的表現形式為一種特殊的資料型別 建立乙個線性表抽象類模板 templat...
線性表的相關操作
順序表的建立 status initlist sqlist l 順序表的銷毀 status destroylist sqlist l 順序表的清空 status clearlist sqlist l 判斷順序表是否為空 status listempty sqlist l 順序表的元素個數 int l...
線性表及其相關操作
一 定義 線性表是最基本 最簡單 也是最常用的一種資料結構。線性表 linear list 是資料結構的一種,乙個線性表是n個具有相同特性的資料元素的有限序列。線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的 注意,這句話只適用大部分線性表,而...