順序表的 C 語言實現

2021-08-28 18:52:13 字數 1321 閱讀 7270

#include #include #define ok 1

#define overflow 0

#define error -1

#define list_init_size 100

#define listincrement 10

typedef int elemtype;

typedef struct

sqlist;

// 線性表的初始化

int initlist(sqlist &l)

// 插入

int listinsert_sq(sqlist &l,int i,char e)

char *newbase;

char *p , *q;

// 如果當前長度大於了最大長度就重新分配新的空間

if(l.length >= l.listsize)

// 插入操作

// q 為第 i 個元素的位置 ,即要插入的元素的位置

q = &(l.elem[i-1]);

// 從後往前遍歷,把 i 後的每乙個元素都後移一位

for(p=&(l.elem[l.length - 1]);p>=q;p--)

// 把要插入的元素放到 i 這個位置

*q = e;

//順序表當前長度增加乙個

l.length++;

return ok;

} // 刪除

int listdelet_sq(sqlist &l,int i)

if(il.length--;

return ok;

} // 查詢

// x 為查詢的值

int locateelem_sq(sqlist l,char x)

// 返回這個位置

printf("%d 的位置是 %d\n",x,i);

} // 顯示當前順序表的數值

void show(sqlist l)

printf("\n");

} main()

show(l);

// 查詢乙個數字 8 ,並返回它的位置

locateelem_sq(l,8);

// 插入乙個數字 10 到第八位置

listinsert_sq(l,8,10);

show(l);

// 刪除乙個數字 10

listdelet_sq(l,8);

show(l);

// 這個是位址

// printf("%d\n",l);

}

C語言實現順序表

標頭檔案部分 include include include typedef int datatype define maxsize 10 typedef struct seqlist seqlist 列印順序表的內容 void printseqlist seqlist seq 初始化順序表 voi...

C語言實現順序表

順序表是在計算機記憶體中以陣列的形式儲存的線性表,是指用一組位址連續的儲存單元依次儲存資料元素的線性結構。線性表採用順序儲存的方式儲存就稱之為順序表。順序表是將表中的結點依次存放在計算機記憶體中一組位址連續的儲存單元中。這裡我用c語言實現了一下順序表的具體操作。其中用了一些c 的小語法。所以有可能不...

C語言實現順序表

使用c語言實現順序表 順序表的主要功能有 1 初始化順序表 2 順序表的頭插 3 順序表的尾插 4 順序表的頭刪 5 順序表的尾刪 6 順序表的任意點插入 7 順序表的查詢刪除 8 順序表的排序 9 清空順序表 10 列印順序表 具體 實現如下 seqlist.h include include i...