C語言資料結構 順序表的定義

2022-09-19 07:48:09 字數 901 閱讀 8332

靜態定義一張順序表的方法跟定義乙個陣列的方法類似

#define maxsize 100

elemtype sqlist[maxsize];

int len;

動態地定義一張順序表的方法

# define maxsize 100

typedef structsqlist;

void initsqlist(sqlist *l)

動態生成一張順序表可以分為以下兩步:

(1)定義乙個型別sqlist,它是乙個結構體,其成員包括:指向順序表的首位址elem,順序表中表的長度length(表中的元素個數),順序表的儲存空間容量(佔據記憶體的大小,以sizeof(elemtype)為單位,由maxsize規定)。

(2)通過呼叫乙個函式initsqlist()實現動態生成一張順序表。函式initsqlist()的引數是乙個sqlist型別的指標變數。

函式initsqlist的作用是動態初始化乙個順序表。

void initsqlist(sqlist *l)

其操作如下:

(1)呼叫了c標準庫函式malloc()動態地分配一段長度為maxsize*sizeof(elemtype)的記憶體空間,並將該段函式的首位址賦值給變數l(sqlist型別)的成員elem成員l->elem

(2)將l->length置為0,表明此時剛剛生成一張空的順序表,表內尚無內容,將l->listsize置為maxsize,表明該順序表佔據記憶體空間大小為maxsize(以sizeof(elemtype)為單位)。

C語言資料結構 順序表

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

資料結構 順序表(C語言)

seqlist.h include include define maxsize 100 typedef struct seqlisttype void seqlistinit seqlisttype sl 初始化順序表 int seqlistlength seqlisttype sl 返回順序表的...

順序表 c語言資料結構

最近才學的資料結構,自己寫出來順序表求大神指點指點有沒有優化的地方 增 刪 改 查 github上有原始碼 github源 標頭檔案 pragma once include include typedef int sdatatype typedef struct seqlist seqlist 初始...