往googler的路上day12
Feb 18, 2021
關於 list 跟 vector比較
reference //https://www.cnblogs.com/smiler/p/4457622.html
- 兩者都可以任意刪除或是插入元素
- 關於刪除新增元素
結論: list >vector
(1)List封裝的是鍊表,他藉由改變指標指向,不支持[]運算子
(2)Vector封裝的是數組,他是真的在創造空間的,支持[]運算子,在刪除時往往要移動他的陣列,在新增時空間不夠的話也要新增空間。
3.關於走訪
結論:vector > list
(1)vector像陣列直接指向那裏的地址,而list則藉由從頭或尾一直指向下一個元素直到目標元素找到。
複習malloc語法
關於這個圖 第五點極為重要,陣列依靠慢慢排序過來,串列依靠指標改變位置。
參考資料 :https://www.youtube.com/watch?v=VlNSgo4xHWk&ab_channel=%E8%95%AD-%E5%BF%97%E6%98%8E
實作doubly linked list
這些插入在Head, Tail, 及其他位置,以及刪除,最主要都跟位置,free有關,尤其 struct node *tmp = (struct node *)malloc(struct node);//常忘記
是非常重要的一步!!!!