C/C++編程筆記:數(shù)據(jù)結(jié)構(gòu)系列——順序表的實現(xiàn),內(nèi)含源碼

一、原理
1.定義
順序表是在計算機中以數(shù)組形式保存的。
2.特點
在計算機中占用連續(xù)的一段內(nèi)存
一旦聲明,空間大小一般不變
二、初始化相關(guān)操作
包括:
(1)結(jié)構(gòu)體的定義
(2)順序表的創(chuàng)建
(3)順序表清空
(4)判斷順序表是否為空
1.結(jié)構(gòu)體定義
即定一個滿足順序表定義的結(jié)構(gòu)體,其中包含 數(shù)組、存儲長度、總長度。

2.初始化
對順序表進行初始化,包括分配自定義長度的數(shù)組空間,設(shè)定存儲長度為0,存儲長度為規(guī)定值

3.清空
將順序表內(nèi)容清空,用于某些題目要求或節(jié)省空間

4. 判斷是否為空
判斷順序表是否為空,在某些操作之前,先要判斷順序表是否為空,防止出錯
intisEmpty(struct List *L){returnL->length==0?1:0;//順序表最大長度為0則為空返回1,否則返回0}
三、增加相關(guān)操作
包括:
(1)向表頭插入元素x
(2)向表尾插入元素x
(3)向第n個位置插入元素x
(4)向遞增的線性表中插入元素x,之后仍然保持有序
進行操作之前,還需要一個方法,當(dāng)插入元素超過數(shù)組長度時,將數(shù)組容量擴大,即重新申請空間
Tip:將順序表擴大一倍空間

1.向表頭插入元素x

2.向表尾插入元素x

3.向線性表L的第n個位置插入元素x

四、刪除相關(guān)操作
包括:
(1)刪除表頭元素并返回被刪除的值
(2)第n個元素并返回被刪除元素
(3)從線性表L中刪除值為X的第一個元素
1.刪除表頭元素并返回被刪除的值
刪除表頭第一個元素,長度減少1,返回被刪除的值

2.刪除第n個元素并返回被刪除元素

3.從線性表L中刪除值為X的第一個元素
從線性表L中刪除值為X的第一個元素,若刪除成功則返回1,否則返回0

五、修改相關(guān)操作
包括:把線性表中第n個元素修改為x
1.把線性表中第n個元素修改為x
把線性表中第n個元素修改為x,若成功則返回1,失敗返回0

六、查找相關(guān)操作
包括:
(1)查找第n個位置的值
(2)順序遍歷輸出所有值
(3)返回值等于x的下標
1.查找第n個位置的值
輸入要查找的坐標,若合法則范圍對應(yīng)的值,若非法則提示并推出

2.順序遍歷輸出所有值
輸出順序表中的所有值

3.查找值為x的節(jié)點并返回其坐標
輸入要查找的值x,若存在則范圍首次出現(xiàn)的下標,否則返回0
voidfindElem(struct List *L,ElemType x){inti;for(i=0;ilength;i++){if(L->list[i]==x){returni;}}}
七、總結(jié)
1.優(yōu)點
查找方便
空間利用率高
2.缺點
刪除和增加操作效率低
空間固定,不易擴展
八、完整代碼





希望對你有幫助~

學(xué)習(xí)C/C++編程知識,歡迎關(guān)注UP一起成長~