擴容操作函式與功能
函式
功能
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...