主要說明Linux內核中單鏈表操作的關鍵思想,需要注意的地方
1. 假設
- 為了說明關鍵思想,對資料結構進行了精簡
2. 資料結構定義
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
3. 鏈表操作
3.1 創建鏈表
- 關鍵思想:鏈表實際上是通過next指標鏈接起來的,所以只需要控制next指標里存盤什么地址,就可以建立節點之間的鏈接關系
ListNode* create(ListNode* l1) {
ListNode *head = NULL;
ListNode **node = &head; //可以理解為node是一個指向ListNode結構體next指標成員的指標
while(l1! = NULL){
(*node) = new ListNode(l1->val); //next指標存盤一個節點地址
node = &((*node)->next); //更新node,讓其指向下一個next指標
l1 = l1->next;
}
return head;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/91953.html
標籤:其他
上一篇:紀中集訓2020.02.09【NOIP提高組】模擬B 組總結反思
下一篇:快速排序演算法
