AcWing 826 陣列模擬單鏈表

2021-10-03 12:45:44 字數 1125 閱讀 5848

題意:實現乙個單鏈表,鍊錶初始為空,支援三種操作:

向煉表頭插入乙個數;

刪除第 k

kk 個插入的數後面的數;

在第 k

kk 個插入的數後插入乙個數。

現在要對該鍊錶進行 m

mm 次操作,進行完所有操作後,從頭到尾輸出整個鍊錶。

注意:題目中第 k

kk 個插入的數並不是指當前鍊錶的第 k

kk 個數。例如操作過程中一共插入了 n

nn 個數,則按照插入的時間順序,這 n

nn 個數依次為:第 1

11 個插入的數,第 2

22 個插入的數,…第 n

nn 個插入的數。

思路:ac**:

#include

using

namespace std;

const

int n =

100010

;// head 儲存頭結點的下標

// e[i] 表示節點i的值

// ne[i] 表示節點i的next指標是多少

// idx 表示當前已經用到了哪個點

int head, e[n]

, ne[n]

, idx;

// 初始化

void

init()

// 將x插到頭結點

void

add_to_head

(int x)

// 將x插到下標是k的點後面

void

add(

int k,

int x)

// 將下標是k的點後面的點刪掉

void

remove

(int k)

intmain()

else

if(op ==

'd')

else

}for

(int i = head; i !=-1

; i = ne[i]

) cout << e[i]

<<

' ';

cout << endl;

return0;

}

AcWing 826 單鏈表

實現乙個單鏈表,鍊錶初始為空,支援三種操作 1 向煉表頭插入乙個數 2 刪除第k個插入的數後面的數 3 在第k個插入的數後插入乙個數 現在要對該鍊錶進行m次操作,進行完所有操作後,從頭到尾輸出整個鍊錶。注意 題目中第k個插入的數並不是指當前鍊錶的第k個數。例如操作過程中一共插入了n個數,則按照插入的...

AcWing 826 單鏈表

實現乙個單鏈表,鍊錶初始為空,支援三種操作 1 向煉表頭插入乙個數 2 刪除第k個插入的數後面的數 3 在第k個插入的數後插入乙個數 現在要對該鍊錶進行m次操作,進行完所有操作後,從頭到尾輸出整個鍊錶。注意 題目中第k個插入的數並不是指當前鍊錶的第k個數。例如操作過程中一共插入了n個數,則按照插入的...

AcWing 826 單鏈表

實現乙個單鏈表,鍊錶初始為空,支援三種操作 1 向煉表頭插入乙個數 2 刪除第k個插入的數後面的數 3 在第k個插入的數後插入乙個數 現在要對該鍊錶進行m次操作,進行完所有操作後,從頭到尾輸出整個鍊錶。注意 題目中第k個插入的數並不是指當前鍊錶的第k個數。例如操作過程中一共插入了n個數,則按照插入的...