線性表的順序儲存及基本操作

2021-07-29 21:15:17 字數 1097 閱讀 6158

#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...