node *getNode(int index){
node *res = head;
// 這裡讓 head 的 index 為 0// 注意不要對 NULL 取值!for(int i = 0; i < index && res != NULL; i++)
res = res->next
return res
}
動動腦
利用 Linked List 實作 Queue 跟 Stack
用 Linked List 實作 Queue
新的值插在尾巴,取值由頭取
node *pop(){
node *res = head;
if(head != NULL)
head = head->next;
// 將 head 指向新的頭return res;
}
用 Linked List 實作 Stack
新的值插在頭,取值由頭取
voidpush(int data){
node *newHead = newNode(data);
newHead->next = head;
// 新頭的 next 指向原本的 head
head = newHead;
// 讓 head 指向後來的頭
}
Linked List 簡報: hackmd.io/@jason1024/S11BErB3S [ www.ppt.cc/fhX56x ]
{"metaMigratedAt":"2023-06-15T01:53:35.806Z","metaMigratedFrom":"YAML","title":"Linked List","breaks":true,"description":"View the slide with \"Slide Mode\".","contributors":"[{\"id\":\"29b089dc-fb6a-4c19-835e-b56db0ae4762\",\"add\":3402,\"del\":2645}]"}