注:資料結構三要素--邏輯結構、資料的運算、儲存結構(物理結構)
線性表是最基本、最簡單、也是最常用的一種資料結構。線性表(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...