資料結構線性表的定義及操作

2021-10-21 11:47:05 字數 1137 閱讀 1831

注:資料結構三要素--邏輯結構、資料的運算、儲存結構(物理結構)
線性表是最基本、最簡單、也是最常用的一種資料結構。線性表(linear list)是資料結構的一種,

乙個線性表是n個具有相同特性的資料元素的有限序列。線性表的相鄰元素之間存在著序偶關係。如用(a1,…,ai-1,ai,ai+1,…,an)表示乙個順序表,則表中ai-1領先於ai,ai領先於ai+1,稱ai-1是ai的直接前驅元素,ai+1是ai的直接後繼元素。當i=1,2,…,n-1時,ai有且僅有乙個直接後繼,當i=2,3,…,n時,ai有且僅有乙個直接前驅。

當n=0時,線性表是乙個空表。

**initlist(&l):初始化表。**構造乙個空的線性表l,分配記憶體空間。

**destroylist(&l):銷毀操作。**銷毀線性表,並釋放線性表l所占用的記憶體空間。

**listlnsert(&l,i,e):插入操作。**在表l中的第i個位置上插入指定元素e。

**listdelete(&l,i,&e):刪除操作。**刪除表l中第i個位置的元素,並用e返回刪除元素的值。

**locateelem(l,e):按值查詢操作。**在表l中查詢具有給定關鍵字值的元素。

**getelem(l,i):按位查詢操作。**獲取表l中第i個位置的元素的值。

其他常用操作:

**length(l):求表長。**返回線性表l的長度,即l中資料元素的個數。**printlist(l):輸出操作。**按前後順序輸出線性表l的所有元素值。**empty(l):判空操作。**若l為空表,則返回true,否則返回false。

tips:

① 對資料的操作(記憶思路)――創銷、增刪改查

② c語言函式的定義 - - 《返回值型別》函式名(《引數1型別》引數1,《引數2型別》引數2 ~~)

③ 實際開發中可以根據需要定義其他基本操作

④ 函式名和引數的形式、命名都可改變 (命名要有可讀性)

為什麼要實現對資料結構的基本操作?

① 團隊合作程式設計,你定義的資料結構要讓別人能夠很方便的使用(封裝)

② 將常用的操作/運算封裝成函式,避免重複工作,降低出錯風險

資料結構 線性表操作

1 有兩張非遞增有序的線性表a,b,採用順序儲存結構,兩張表合併用 c表存,要求 c為非遞減有序的,然後刪除c表中值相同的多餘元素。includeusing namespace std define maxsize 100 define overflow 1 define error 0 defin...

04 資料結構基礎 線性表定義及基本操作

定義 具有相同資料型別的n n 0 個資料元素的有限序列 特徵 型別相同 每乙個資料元素空間大小一樣,型別不限 有限序列 有限個,有一定次序 思考 所有整數依次排列是線性表嗎?初始化表 initlist l 構建乙個空的線性表l,分配記憶體空間 銷毀操作 destroylist l 銷毀線性表,並釋...

資料結構 線性表及線性表順序儲存

寫的一定程度上,要再次提公升的時候,是該好好的看一下資料結構和演算法了。趁著最近有時間,好好的複習一下,今天主要是線性表和線性表的順序儲存。1 線性表是一種最基本 最簡單的的資料結構,是一種線性結構。2 線性表中資料元素之間的關係是一對一,是n個資料元素的有限序列。3 若將線性表記為 a1,ai 1...