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