陣列模擬鍊錶

2021-10-21 12:16:07 字數 1256 閱讀 8095

單鏈表:

#include

using namespace std;

int head=-1

,idx=

0,e[

100005

],ne[

100005];

void

add_head

(int x)

void

remove

(int k)

void

add(

int k,

int x)

intmain()

else

if(a==

"d")

//刪除元素

else

//在第k個數後面插入乙個數

}for

(int i=head;i!=-1

;i=ne[i]

) cout

}

雙鏈表:

#include

using namespace std;

int idx,e[

100005

],r[

100005

],l[

100005];

void

remove

(int k)

//右邊插入

//k-1

void

add(

int k,

int x)

//最右邊插入 1

void

add_head1

(int x)

//最左邊插入 0

void

add_head0

(int x)

intmain()

else

if(a==

"il"

)//表示在第k個插入的數左側插入乙個數

else

if(a==

"d")

//表示將第k個插入的數刪除

else

if(a==

"r")

//表示在鍊錶的最右端插入數x

else

//表示在鍊錶的最左端插入數x

}for

(int i=r[0]

;i!=

1;i=r[i]

) cout

}

陣列模擬鍊錶

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

陣列模擬鍊錶(靜態鍊錶)

為了模擬鍊錶的操作,設定了乙個date 資料 以及cur 相當於指標域 typedef struct list list s size size為陣列大小 我們用s size 1 cur來起頭指標的作用,指向鍊錶的第乙個元素的下標。因為不能直接malloc出來乙個空間,需要s 0 來儲存乙個空的陣列...

陣列模擬鍊錶問題

模擬鍊錶。在圖論題程式設計中,通常要運用鄰接鍊錶資料結構。由於動態指標比靜態的陣列的訪問慢,很多oi選手就用陣列模擬指標。現在就來學習一下這種方法的程式設計。有n個點,編號從1到n。有m條邊,每條邊用連線的2個頂點表示,如 3,8 表示頂點3和8之間的邊 無向邊 請輸出每個頂點通過邊相鄰的頂點。輸入...