C語言 資料結構 順序表和煉表

2021-09-25 14:54:12 字數 1679 閱讀 6794

一、線性表

線性表(linear list)是n個具有相同特性的資料元素的有限序列。 線性表是一種在實際中廣泛使用的資料結構,常見的線性表:順序表、鍊錶、棧、佇列、字串…

線性表在邏輯上是線性結構,也就說是連續的一條直線。但是在物理結構上並不一定是連續的,線性表在物理上儲存時,通常以陣列和鏈式結構的形式儲存。

二、順序表

順序表一般可以分為:

1. 靜態順序表:使用定長陣列儲存。

2. 動態順序表:使用動態開闢的陣列儲存。

// 順序表的靜態儲存

#define n 100

typedef int sldatatype;

typedef struct seqlist

seqlist;

順序表的動態儲存

typedef struct seqlist

seqlist;

順序表基本的增刪查改介面

void seqlistinit(seqlist* psl, size_t capacity);

void seqlistdestory(seqlist* psl);

void checkcapacity(seqlist* psl);

void seqlistpushback(seqlist* psl, sldatatype x);

void seqlistpopback(seqlist* psl);

void seqlistpushfront(seqlist* psl, sldatatype x);

void seqlistpopfront(seqlist* psl);

int seqlistfind(seqlist* psl, sldatatype x);

void seqlistinsert(seqlist* psl, size_t pos, sldatatype x);

void seqlisterase(seqlist* psl, size_t pos);

void seqlistremove(seqlist* psl, sldatatype x);

void seqlistmodify(seqlist* psl, size_t pos, sldatatype x);

void seqlistprint(seqlist* psl);

三、鍊錶

鍊錶是一種物理儲存結構上非連續、非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的 。

實際中煉表的結構非常多樣,以下情況組合起來就有8種鍊錶結構:

1. 單向、雙向

2. 帶頭、不帶頭

3. 迴圈、非迴圈

C語言資料結構拉練 順序表,鍊錶

資料結構 結構定義 結構操作 include include include 標註擴容操作的顏色巨集 033 32m列印值 033 0m define color a,b 033 b m a 033 0m define green a color a,32 1 陣列指標,2 容量,3 長度 type...

資料結構之順序表和煉表

1.線性表 線性表 linear list 是n個具有相同特性的資料元素的有限序列。線性表是一種在實際中廣泛使用的資料結構,常見的線性表 順序表 鍊錶 棧 佇列 字串 線性表在邏輯上是線性結構,也就說是連續的一條直線。但是在物理結構上並不一定是連續的,線性表在物 理上儲存時,通常以陣列和鏈式結構的形...

C語言資料結構 順序表

資料結構的一些講解,供學習者參考,也順帶作為複習 線性表的順序儲存是指在記憶體中用位址連續的一塊儲存空間順序存放線性表的各元素,用這種儲存形式儲存的線性表稱為順序表。因為記憶體中的位址空間是線性的,因此,用物理上的相鄰實現資料元素之間的邏輯相鄰關係既是簡單又自然的。將資料儲存區data和指標last...