順序儲存結構的插入與刪除

2021-06-03 15:25:33 字數 589 閱讀 4058

看了幾個例子,心中有了些底子,把前面有些程式分割開,慢慢寫出來。

插入演算法思路:

1.如果插入不合理,丟擲異常;

2.如果線性表長度大於等於陣列長度,則丟擲異常或動態增加容量;

3.從最後乙個元素開始向前遍歷到第i個位置,分別將它們都向後移動乙個位置;

4.將要插入元素填入位置i處;

5.表長加1.

//在l中第i個位置之前插入新元素e,l的長度加1

int listinsert(sqlist * l,int i,elemtype e)

l->data[i-1] = e; //插入

l->length++;

return ok;

}

一樣以來,簡單明瞭。

刪除演算法思路不給出來了,和插入大同小異,給上**

//刪除l中第i個元素,並用e返回其值,l長度減1

int listdelete(sqlist * l,int i,elemtype e)

l->length--;

return ok;

}

順序儲存結構插入與刪除

插入演算法的思路 初始條件 順序線性表l已存在,1 i listlength l 操作結果 在l中第i個位置之前插入新的元素e,l的長度加1 define ok 1 define error 0 define true 1 define false 0 typedef int status stat...

線性表順序儲存結構的插入和刪除

1 順序鍊錶的插入操作。status listinsert sqlist l,int i,elemtype e if i 1 i l length 1 當i不在這個範圍內時 if i l length 若插入資料位置不在表尾 l data i 1 e 將新的元素插入 l length return ...

資料結構順序表的插入與刪除

如果要再第三元素的地方插入的話要把第三個元素整體往後移,把新元素插入第三個位置 整個長度為5 由於要再第三個位置插入資料元素三,所以j 5for迴圈所負責的是把三號位置的資料元素整體往後移一位 把資料元素放在第三個位置實質是放在陣列下標為2的位置上 再進行相關操作中一定要進行合法性判斷避免插入位置前...