順序表的初始化 插入 刪除

2021-07-13 02:17:34 字數 1102 閱讀 6800

昨天晚上做了中移動蘇州軟體公司的暑期實習崗的筆試題,感覺備受打擊,尤其是自以為是的資料結構題(從快排、歸併排序、堆排序中選一種實現),碎決定再次學習資料結構一次,並將重要的資料結構用程式實現。

這裡先實現的是順序表的初始化,插入和刪除操作。

#include

using namespace std;

// - - - - 線性表的動態分配順序儲存結構 - - - -

#define list_init_size 100 //儲存空間的初始分配量

#define increment 10 //儲存空間的分配增量

#define elemtype char

typedef structsqlist;

//線性表的初始化

int initlist_sq(sqlist *l)

int listinsert_sq(sqlist *l, int i, elemtype e)

l->elem = newbase; //新基位址

l->listsize += increment;//增加儲存容量

}elemtype *q = &(l->elem[i - 1]);//q為插入位置

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

*(p + 1) = *p; //插入位置及其後的元素右移

*q = e; //插入元素

+l->length; //表長加1

return1;}

int listdelete_sq(sqlist *l, int i, elemtype *e)

elemtype *p = &(l->elem[i - 1]); //p為被刪除的元素的位置

*e = *p; //把p的值賦給e

elemtype *q = l->elem + l->length - 1;//表尾元素的位置

for (++p; p <= q; ++p)

*(p - 1) = *p;

--l->length;

return0;}

int main()

順序表的初始化 刪除 插入

初始化線性表 include include include define list init size 100 define listincrement 10 define ok 1 define error 0 define overflow 2 struct sqlist char elem ...

靜態順序表的初始化以及插入刪除操作

在編寫之前首先需要說明,在使用c語言編寫時,在自定義外函式 也就是在main函式體之外 體內不能使用 符號以及 符號,取而代之的是 號以及 符號 1.首先是靜態順序表結構體的編寫 typedef struct sqlist 2.初始化 void initlist sqlist l 3.插入操作 bo...

順序表實現初始化 插入 刪除 銷毀等操作

include include using namespace std define error 0 define ok 1 define overflow 1 define list init size 100 根據實際情況,調整初始分配空間大小 define listincrement 10 當...