#include#include#define init_size 10 // 線性表初始容量
#define increment_size 5 // 當線性表容量不夠時,增加元素之前,線性表增長量
#define overflow -5 // 記憶體分配失敗後的退出代號
typedef struct sequencelist;
/* * 初始化線性表分配記憶體空間以及相關引數設定
*/void init_list(sequencelist *slist)
/* * 插入操作
*/void insert(sequencelist *slist, int element, int index)
for(int i=slist->length-1; i > index ; i--)
*(slist->data + i + 1) = *(slist->data + i);
*(slist->data + index) = element;
slist->length++;}/*
* 索引操作
*/int getelement(sequencelist *slist, int index)
/* * 更新操作
*/void updateelement(sequencelist *slist, int index, int newvalue)
/* * 刪除操作
*/int deleteelement(sequencelist *slist, int index)
/* * 合併操作
*/sequencelist mergelist(sequencelist slist1, sequencelist slist2)
else
r++;
}while(p < slist1.length)
while(q < slist2.length)
return newlist;}/*
* 列印線性順序表的所有資訊
*/void print_slist_info(sequencelist slist)
int main()
線性表順序儲存基本操作
線性表的基本操作 status,自定義的乙個列舉型別,enum status status list init sqlistptr l 初始化線性表 void list clear sqlistptr l 清空線性表 void list destory sqlistptr l 銷毀線性表 bool ...
線性表順序儲存的基本操作
線性表的操作主要包括如下幾個 初始化,插入,刪除,查詢 單個元素所在的位置,某個位置的具體元素,查詢所有的元素 判斷是否為空,兩個線性表合併 當需要對線性表進行修改的時候,要傳遞線性表變數的位址。否則的話,只需要傳遞傳遞變數即可 至於原因 想想當初自定義函式中對兩個元素進行交換的實現 include...
線性表順序儲存結構基本操作
線性表 線性表 list 每個元素型別均為datatype。operation initlist l 初始化操作,建立乙個空的線性表l。listempty l 若線性表為空,返回 true 否則返回 false。clearlist l 將線性表清空。getelem l,i,e 將線性表 l中的第 i...