資料型別,線性表概念

2022-03-29 14:14:44 字數 1104 閱讀 7513

資料型別

在計算機中,因為記憶體空間是有限的,所以不同的型別的資料分配的記憶體空間大小不同

資料型別是指一組性質相同的值的集合及定義在此集合上的一些操作的總稱

在c語言中,按照值的不同,資料型別分為兩類

原子型:不可以再分解的基本型別,包括整型,實型等

結構性:有若干個型別組合而成,是可以再分的。例如:整型陣列是有若干個整型資料組成的

抽象資料型別:是對已有資料型別進行抽象,指的是乙個資料模型及定義在該模型上的一組操作

線性表:零個或多個資料元素的有限序列,包括順序表和鏈式表

線性表特點:

1.它是乙個序列,資料元素之間是有序的,資料元素之間是一對一的關係

2.資料元素個數是有限的(0個有限序列的線性表成為空表)

包含的操作:

建立或初始化、查詢、插入、刪除、清空(增刪改查)

1.我們需要定義線性表的最大儲存空間#define max_size 255

2.線性表裡需要有統一型別的元素集合typedef int element;

typedef struct elementtype;

3.定義線性表結構

typedef structseqlist;

線性表的順序儲存結構的優點:

1.無需為表示表中元素之間的邏輯關係而增加額外的儲存空間

2.可以快速訪問表中任意位置的元素

缺點:1.刪除和插入操作需要移動大量的元素

2.當線性表長度變化較大時,難以確定儲存空間的容量

3.造成空間的「碎片」

鏈式儲存:

鍊錶:優點:1.不用定義規定長度

2.儲存的個數不收限制

3.插入和刪除元素時,不用移動其他元素

頭指標:在鍊錶中第乙個結點的儲存位置

頭結點:在單鏈表的第乙個結點前附近的乙個結點(有了頭結點,第乙個結點前插入和刪除第乙個結點時,操作與其他結點的操作就統一了

單鏈表:鍊錶的每乙個結點中只包含乙個指標域

獲取第i個結點的資料

typedef struct monstermonster;

void test()

{ monster monster1 = "

test:返回乙個區域性變數的值

線性表概念

線性表的抽象資料型別包括 資料物件集合 和基本操作集合 資料物件集合定義了線性表的資料元素及元素之間的關係,基本操作集合定義了在資料物件上的一些基本操作。1.資料物件集合 線性表的資料物件集合為,每個元素的型別均為datatype,其中除了第乙個元素a1,每乙個元素都有唯一的前驅元素。除了最後乙個元...

線性表的抽象資料型別

adt 線性表 list data 資料物件集合,每個元素型別均為datatype operation 建立乙個空的線性表l initlist l 判斷線性表是否為空 listempty l 清空線性表 clearlist l 將線性表l中的第i個位置元素,用e返回 getelem l,i,e 查詢...

二 線性表的抽象資料型別

線性表的順序儲存結構 1.順序儲存結構 結構 typedef int elemtype typedef struct splist 總結下,順序儲存結果封裝需要三個屬性 儲存空間的起始位置,陣列data,它的儲存位置就是線性表儲存空間的儲存位置,線性表的最大儲存容量 陣列的長度maxsize 線性表...