#include
#include
#define maxsize 100
typedef
char elemtype;
typedef
struct list
sqlist;
void
createlist
(sqlist *
&l,elemtype a,
int n)
//建立順序表
/*******************************************
********************************************/
void
initlist
(sqlist *
&l)//初始化順序表
/*******************************************
********************************************/
void
destroylist
(sqlist *
&l)//釋放順序表
/*******************************************
********************************************/
bool listempty
(sqlist *l)
//判空
/*******************************************
********************************************/
intlistlength
(sqlist *l)
//輸出長度
/*******************************************
********************************************/
void
displist
(sqlist *l)
//輸出順序表
/*******************************************
********************************************/
void
getelem
(sqlist *l,
int j)
//求順序表中的某個下標的元素值
}/*******************************************
********************************************/
intlocateelem
(sqlist * l,elemtype e)
//按元素值查詢
else
}/*******************************************
********************************************/
bool listinsert
(sqlist *
&l,int j,elemtype e)
//插入元素
/*******************************************
********************************************/
bool deletelement
(sqlist *
&l,int j,elemtype &e)
//刪除資料元素
/*******************************************
********************************************/
intmain()
;
elemtype e=0;
initlist
(l);
//初始化順序表l
printf
("初始化完成\n");
/*******************************************
********************************************/
createlist
(l,a,5)
;//依次插入a,b,c,d,e
printf
("插入元素後輸出的順序表為:\n");
/*******************************************
********************************************/
displist
(l);
//輸出順序表l
/*******************************************
********************************************/
printf
("此順序表長度為:");
printf
("%d\n"
,listlength
(l))
;//輸出順序表l長度
/*******************************************
********************************************/if(
listempty
(l)==1)
//判斷順序表l是否為空
printf
("不為空\n");
else
printf
("為空\n");
/*******************************************
********************************************/
printf
("順序表的第3個元素為:");
//輸出順序表的第3個元素
getelem
(l,3);
/*******************************************
********************************************/
printf
("元素a的位置為:");
//查詢a的位置
locateelem
(l,'a');
/*******************************************
********************************************/
listinsert
(l,4
,'f');
//在第4個元素位置上插入元素f
printf
("插入元素後的順序表為:\n");
/*******************************************
********************************************/
displist
(l);
//輸出順序表l
/*******************************************
********************************************/
deletelement
(l,3
,e);
//刪除l的第3個元素
/*******************************************
********************************************/
printf
("刪除元素後的順序表為:\n");
displist
(l);
//輸出順序表l
/*******************************************
********************************************/
destroylist
(l);
//釋放順序表l
printf
("釋放順序表");
return0;
}
資料結構與演算法 順序表
python中的list和tuple兩種型別採用了順序表的實現技術,具有前面討論的順序表的所有性質。tuple是不可變型別,即不變的順序表,因此不支援改變其內部狀態的任何操作,而其他方面,則與list的性質類似。python標準型別list就是一種元素個數可變的線性表,可以加入和刪除元素,並在各種操...
Python資料結構與演算法之鍊錶與順序表的對比
鍊錶與順序表的對比 鍊錶失去了順序表隨機讀取的優點,同時鍊錶由於增加了節點的指標域,空間開銷比較大,但對儲存空間的使用要相對靈活。鍊錶與順序表的各種操作複雜度如圖所示 操作鍊錶 順序表訪問元素 o n o 1 在頭部插入 刪除 o 1 o n 在尾部插入 刪除 o n o 1 在中間插入 刪除 o ...
資料結構與演算法(2)順序表
在之前的順序表中,我們使用陣列來儲存資料元素,但是這樣的結構有很大的隱患。在一些情況下,我們無法事先確定資料元素的規模。如果資料元素很少的話,陣列很多空間是浪費的,如果資料元素比較大的話,陣列可能會出現溢位的危險,這比單純的浪費空間要嚴重的多。c語言是不支援動態陣列的,但是我們可以通過指標實現這乙個...