順序儲存結構插入與刪除

2021-07-10 17:09:02 字數 627 閱讀 1826

插入演算法的思路:

/*初始條件:順序線性表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;

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

l->data[i-1]=e; /*將新元素插入*/

l->length++; /*表長度加1*/

return ok;

}

刪除演算法的思想:

/*初始條件:順序線性表已經存在,1<=i<=listlength(l)*/

/*操作結果:刪除l的第i個元素,並用e返回其值,l的長度減1*/

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

l->length--;

return ok;

}

優點:

缺點:

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

看了幾個例子,心中有了些底子,把前面有些程式分割開,慢慢寫出來。插入演算法思路 1.如果插入不合理,丟擲異常 2.如果線性表長度大於等於陣列長度,則丟擲異常或動態增加容量 3.從最後乙個元素開始向前遍歷到第i個位置,分別將它們都向後移動乙個位置 4.將要插入元素填入位置i處 5.表長加1.在l中第i...

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

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的位置上 再進行相關操作中一定要進行合法性判斷避免插入位置前...