順序表 基於C語言

2021-10-09 02:50:52 字數 2170 閱讀 5017

最近複習了c語言的相關知識,實現了資料結構中的順序表。

下面是main.c檔案:

#include

"seqlist.h"

#include

intmain()

return0;

}

下面是seqlist.**件:

#ifndef __seqlist_h__

#define __seqlist_h__

typedef

int datatype;

#define debug() printf("file = %s\nline = %n", __file__, __line__)

#include

#include

#define maxsize 100

#ifndef __cplusplus

typedef

int bool;

#define true 1

#define false 0

#else

typedef bool bool;

#endif

#define malloc(type, size) (type*)malloc(sizeof(type) * size)

#define free(p) (free(p), p = null)

typedef

struct

seqlist;

seqlist*

seqlistcreate

(void);

seqlist*

seqlistdestroy

(seqlist *list)

;int

seqlistlength

(seqlist *list)

;int

seqlistcapacity

(seqlist *list)

;bool seqlistinsert

(seqlist *list,

int i, datatype data)

;bool seqlistdelete

(seqlist *list,

int i, datatype *data)

;bool seqlistset

(seqlist *list,

int i, datatype data)

;bool seqlistget

(seqlist *list,

int i, datatype *data)

;#endif

下面是seqlist.c檔案:

#include

"seqlist.h"

seqlist*

seqlistcreate

(void

)seqlist*

seqlistdestroy

(seqlist *list)

intseqlistlength

(seqlist *list)

intseqlistcapacity

(seqlist *list)

bool seqlistinsert

(seqlist *list,

int i, datatype data)

list->space[j]

= data;

list->size++;}

return ret;

}bool seqlistdelete

(seqlist *list,

int i, datatype *data)

list->size--;}

return ret;

}bool seqlistset

(seqlist *list,

int i, datatype data)

bool seqlistget

(seqlist *list,

int i, datatype *data)

不知道什麼原因,使用dev c++編譯這個程式會在free掉順序表時出錯。改使用qt重新編譯,無錯誤無警告。下面是執行結果:

C語言 順序表

順序表的初始化,插入,刪除,列印 include include define initsize 100 線性表能達到的最大長度 define bool int define true 1 define false 0 typedef int datatype elemtype表示線性表中元素的型別...

順序表 C語言

順序表示 採用順序儲存是表示線性表最簡單的方法 儲存結構 線性表的首位址或基位址 順序表中k0的儲存位置 loc k0 順序表的實現 以陣列為基礎實現線性表 考慮到線性表元素的變化,建立乙個大陣列,表示元素連續存在陣列前一段 順序表的儲存示意圖 演算法分析與評價 可以看出,在順序表中進行一次插入或刪...

C語言 順序表

typedef maxsize 100 typedef int elemtype typedef struct seqlist 順序表長度 最後乙個元素序號 l.last 1 順序表中序號為i ii的元素a ia i ai l.elem i 1 位置 下標為i ii 0 1 2 3 4 5 6 序號...