線性表的插入,刪除,合併,查詢

2021-07-11 04:17:58 字數 1016 閱讀 5873

線性表示資料結構中較為重要的乙個結構,實現增刪查改,主要參考嚴版的資料結構,以下為**部分

//#include "stdafx.h"

#include #include #include using namespace std;

#define list_init_size 100 //init size

#define listincerment 10 //increment

//----動態分配順序儲存結構---

typedef structsqlist;

//---實現插入操作---

sqlist initlist_sq(sqlist &la,int i, int e)

int* q;//q為插入位置

int* p;//p為往後移元素位置

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

for (p = &la.elem[la.length - 1]; p >= q;--p)//p為最後的元素

*(p+1)=*p;//元素後移,插入一次,後移一次

*q = e;

++la.length;

return la;

}//---實現刪除操作---

sqlist delelist_sq(sqlist &la, int i, int &e)

//---實現查詢操作

int locateelem_sq(sqlist l, int e)

if (i <= l.length)

return i;

else

return 0;

}//---實現兩個鍊錶合併操作

sqlist mergelist_sq(sqlist la, sqlist lb, sqlist &lc)

while (pa < pa_last)//插入剩餘的la元素

while (pb < pb_last)//插入剩餘的lb元素

return lc;

}int _tmain(int argc, _tchar* argv)

實現線性表的遍歷查詢插入刪除合併

資料結構 書上給的 僅僅是 在某個特定的位置 插入 某乙個元素。那樣不是 線性表的要求。申請動態記憶體空間神馬的 真費勁,不熟練。include include include include include include include include include include inclu...

線性表的插入刪除查詢

建立動態陣列,分成兩部分 資料elem和線性表的長度length,elem與initsize為資料的 typedef structsqlist 初始化 1.給動態陣列分配空間 2.線性表清空length 0 void initlist sq sqlist l 顯示 void show sqlist ...

線性表順序儲存的建立,查詢,插入,刪除

1 typedef struct lnode list23 struct lnode 1011 struct lnode l 1213 list ptrl 訪問下標為i的元素 l.data i 或者ptrl data i 線性表的長度 l.last 1或者ptrl last 1 1.初始化 建立空的...