6378 刪除陣列中的元素(用陣列模擬鍊錶 鍊錶)

2021-10-18 10:32:51 字數 1245 閱讀 7618

這題如果用陣列模擬鍊錶,一定要用雙鏈表!!!

先看看用單鏈表會出現什麼問題

下面展示一些內聯**片

單鏈表的刪除
//刪除第k點的下乙個點

void

remove

(int k)

比如鍊錶是:2-

>1-

>3-

>3-

>5-

>70

1234

5(節點)

如果刪除元素3

先remove(1);

此時會出現 1號節點指向3號節點,2號節點指向3號節點

下一步 remove(2

)此時會出現 2號節點指向4號節點,3號節點指向4號節點

那麼總體結果就是 0號節點-

>

1號節點-

>

3號節點-

>

4號節點...

.這樣子3號節點的3就沒有刪除。

原因:單鏈表方向只有乙個,會出現多指。

所以要用雙鏈表

下面展示一些內聯**片

ac的雙鏈表
#include 

#include

#include

#include.h>

using namespace std;

const int n

=200010

;int e[n]

,l[n

],r[n]

,idx;

//初始化

void

inti()

//在下標為 k 的節點後面 插入乙個數 x,

void

add(int k,int x)

//刪除下標為 k 的節點 後乙個數

void

remove

(int k)

int main()

int w;

cin>>w;

for(int i = r[0]

; i !=

1; i = r[i]

)for

(int i = r[0]

; i !=

1; i = r[i]

) cout << e[i]

<<

' ';

}

下次再見了。

noi 6378 刪除陣列中的元素 鍊錶

描述給定n個整數,將這些整數中與m相等的刪除 假定給出的整數序列為 1,3,3,0,3,5,6,8,3,10,22,1,3,5,11,20,100,3,9,3 應該將其放在乙個鍊錶中,鍊錶長度為20 要刪除的數是3,刪除以後,鍊錶中只剩14個元素 1 0 3 5 6 8 10 22 1 5 11 2...

php中刪除陣列元素

users array 1 張三 2 李四 3 王五 print r users echo unset users 2 print r users echo student array 1 mike 2 tom 3 jerry 4 lucy 5 lili array splice student,3...

如何刪除陣列中的元素

php中的陣列要新增元素非常簡單,直接用賦值就行了,陣列的key會自動增加,但是要刪除陣列中的元素呢?你想過嗎?是不是很少遇到?我近日在處理乙個購物籃程式時遇到了要刪除陣列中元素的問題,尋找了半天,終於找到了刪除陣列的方法,其實很簡單.開始我參照一篇文章 字串陣列,刪除陣列元素 oso中有 中的方法...