昨天晚上做了中移動蘇州軟體公司的暑期實習崗的筆試題,感覺備受打擊,尤其是自以為是的資料結構題(從快排、歸併排序、堆排序中選一種實現),碎決定再次學習資料結構一次,並將重要的資料結構用程式實現。
這裡先實現的是順序表的初始化,插入和刪除操作。
#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 當...