線性表 線性表的順序儲存結構

2021-09-29 04:28:13 字數 2000 閱讀 8948

#include

#include

using namespace std;

#define ok 1

#define error 0

#define list_init_size 100

#define listincrement 10

typedef

int status;

typedef

int elemtype;

typedef

struct

sqlist;

//線性表的順序表示和實現

status initlist_sq

(sqlist &l)

status listinsert_sq

(sqlist &l,

int i, elemtype e)

elemtype * q =

&(l.elem[i-1]

);for(elemtype * p =

&(l.elem[l.length-1]

); p >= q; p--)*

(p+1)=

*p;*q = e;

++l.length;

return ok;

}status listdelete_sq

(sqlist &l,

int i, elemtype &e)

intlocateelem_sq

(sqlist l, elemtype e)

return0;

}void

mergelist_sq

(sqlist la, sqlist lb, sqlist &lc)

while

(pa <= pa_last)

*pc++

=*pa++

;while

(pb <= pb_last)

*pc++

=*pb++;}

intmain()

printf

("請輸入第二個順序線性表資料數量:\n");

scanf

("%d"

,&n)

;printf

("請輸入第二個順序線性表資料:\n");

for(

int i =

0; i < n; i++)/*

printf("\n——————測試《一》——————\n");

listinsert_sq(la, 4, 999);

printf("插入後後的順序線性表:\n");

for (int i = 0; i < la.length; i++)

printf("%d ", la.elem[i]);

*//* printf("\n——————測試《二》——————\n");

elemtype e;

listdelete_sq(la, 4, e);

printf("刪除後的順序線性表:\n");

for (int i = 0; i < la.length; i++)

printf("%d ", la.elem[i]);

printf("\n被刪除的元素是:%d\n", e);

*//* printf("\n——————測試《三》——————\n");

printf("想要定位的元素是:\n");

elemtype e;

scanf("%d", &e);

printf("\n定位元素的位置是:%d\n", locateelem_sq(la, e));

*//* printf("\n——————測試《四》——————\n");

mergelist_sq(la, lb, lc);

printf("歸併後的順序線性表:\n");

for (int i = 0; i < lc.length; i++)

printf("%d ", lc.elem[i]);

*/return0;

}

線性表 線性表的順序儲存結構

線性表的順序儲存結構 線性結構是乙個資料元素的有序 次序 集。集合中必存在唯一的乙個 第一元素 集合中必存在唯一的乙個 最後元素 除最後元素外,均有唯一的後繼 除第一元素外,均有唯一的前驅。adt list 資料關係 r1 adt list 容易混的概念 引用符號 和引用型操作沒有關係 加工型操作 ...

線性表 線性表的順序儲存結構

include include using namespace std define ok 1 define error 0 define list init size 100 define listincrement 10 typedef int status typedef int elemty...

線性表定義 線性表順序儲存結構

線性表 由零個或多個資料元素組成的有限序列。簡單的說,就像排隊一樣,具有先一樣性質的結構。關鍵 資料元素的個數稱為線性表的長度,當線性表長度為零時,稱為空表。表起始位置稱表頭,表結束位置稱表尾。線性表有兩種物理儲存結構 順序儲存結構和鏈式儲存結構。物理上的儲存方式事實上就是在記憶體中找個初始位址,然...