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)