精華區beta NTUE-CS100 關於我們 聯絡資訊
Linked list ,類似Array,也是一種儲存大量資料的方法。 不同的地方是,Array用一整排連續、相鄰的記憶體 而Linked list每個node之間address都不連續 所以每個node都要有一個指標指向下一個node head→□→□→□→□ (火車概念圖) 這樣只要有一個開頭的指標,就可以一個接一個找到每個元素。 //所以...先來弄node class node{ public: int data; node* next; }; 我們創造了"一種"class,叫做node 我之所以叫"一種",是因為node只是一個模子,他還沒有實體存在記憶體中。 有一個class模子後,就可以鑄出很多個成品。 例如 node a,b,c; 都是同個模子刻出來的node,名字分別叫做a,b,c。 a,b,c分別在記憶體裡面佔有三塊空間。 有人可能對這行有疑問。 node* next; 我們先來中文翻譯一下 int* a; (中譯: 有一個指標叫做a,它將儲存記憶體裡某個位址, 位址所在的那塊空間是一個int) 所以依此類推 node* next; (中譯: 有一個指標叫做next,它將儲存記憶體裡某個位址, 而這個位址所在的那塊空間,是一個node) 記得所有的變數,實際上都是記憶體裡的一塊空間。 至於這個next現在指向哪裡呢? 不知道。 可以確定的只有:它將會指向某個node。 -- ---- chchwy <批兔個人版> ptt2.cc -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.68.15.230 ※ 編輯: chchwy 來自: 203.68.15.230 (04/08 21:48)