順序表構造,插入,擴容操作

2022-09-14 20:00:21 字數 925 閱讀 8130

擴容操作函式與功能

函式

功能

insert(loc,value)

將value插入到順序表中下標為loc的位置

expand()

擴大順序表的容量

順序表插入操作的實現方法如下:

1,判斷插入位置是否合法。

2,判斷順序表是否已滿。

3,將目標位置及之後的元素後移一位。

4,將待插入的元素值插入到目標位置。

順序表擴容操作的實現方法:

1,將原來的元素儲存到臨時儲存空間。

2,擴大原來的儲存空間。

3,將臨時儲存空間裡的資料元素複製新的儲存空間裡。

4,釋放臨時的儲存空間。

例子演示順序表的擴容操作:

我們又向剛剛的順序表中插入了幾個元素,現在順序表已經被填滿了,但是我們還希望在最後繼續插入乙個元素 7。

程式在擴容時,會將元素儲存在臨時儲存空間,再將原來的空間擴大為 2倍。

之後把所有的元素複製到新的儲存的空間,並釋放臨時儲存空間。

接著就可以繼續插入元素了。

在順序表的擴容操作中,我們需要把原陣列空間裡的元素一一複製到新的空間內,因此擴容操作的時間複雜度為o(n)。

動態順序表(可擴容)的基本操作

標頭檔案 define crt secure no warnings 1 ifndef staticseqlist h define staticseqlist h include include include include include define maxsize 10 define ca...

順序表 有序順序表的插入

本題要求實現遞增順序表的有序插入函式。l是乙個遞增的有序順序表,函式status listinsert sortedsq sqlist l,elemtype e 用於向順序表中按遞增的順序插入乙個資料。比如 原資料有 2 5,要插入乙個元素3,那麼插入後順序表為2 3 5。要考慮擴容的問題。stat...

順序表 插入刪除

插入操作 在順序表l的第i 1 i l.length 1 個位置插入新元素e。時間複雜的為o n 刪除操作 刪除順序表l的第i 1 i l.length 個位置的元素,並返回true。時間複雜度為o n include include define initsize 10 using namespa...