国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

算法通關村第一關——鏈表青銅挑戰(zhàn)筆記

這篇具有很好參考價值的文章主要介紹了算法通關村第一關——鏈表青銅挑戰(zhàn)筆記。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

小白也能學會的鏈表(C/CPP)

構造鏈表

鏈表的基本單元就是節(jié)點,也就是說鏈表是由一個一個節(jié)點構成的。

而對于節(jié)點來說,里面至少會包含一個指針和一個數(shù)據(jù)元素,也就是如下圖所示:

算法通關村第一關——鏈表青銅挑戰(zhàn)筆記,算法,鏈表,筆記

其中數(shù)據(jù)域用來存放數(shù)據(jù)元素,指針域用來存放指向下一個節(jié)點的指針,這樣一個一個連接起來的就是鏈表。如下圖所示:

算法通關村第一關——鏈表青銅挑戰(zhàn)筆記,算法,鏈表,筆記

既然我們知道了節(jié)點的結構,那我們也就可以利用代碼實現(xiàn)一個結構體作為節(jié)點了。

struct ListNode {
    int value; // 數(shù)據(jù)
    struct ListNode* next; // 指針,指向下一個節(jié)點
};

然后,我們就可以利用這個結構體構建出我們需要的鏈表了。

struct ListNode* BuildLinkList() {
    // 先創(chuàng)建一個頭指針,指向第一個節(jié)點
    struct ListNode* head = nullptr;
    
    // 創(chuàng)建頭結點,并將頭指針指向該節(jié)點
    struct ListNode* node = new ListNode();
    node->value = 0;
    node->next = nullptr;
    
    // 將頭指針指向頭節(jié)點
    head = node;
    
    // 繼續(xù)創(chuàng)建節(jié)點
    for (int i = 1; i < 5; ++i) {
        struct ListNode* tempNode = new ListNode();
    	tempNode->value = i;
    	tempNode->next = nullptr;
        
        // 將節(jié)點加入到鏈表中
        node->next = tempNode;
        node = tempNode;
    }
    
    // 返回頭節(jié)點,通過頭節(jié)點即可使用構建好的鏈表
    return head;
}

對于創(chuàng)建好的鏈表,我們應該如何使用呢?接下來,我們就實現(xiàn)一下鏈表的遍歷,同時驗證一下通過BuildLinkList創(chuàng)建的鏈表是否正確。

我們知道,鏈表的節(jié)點是前一個指向后一個的,所以我們只需要從頭節(jié)點開始,通過拿去next指針,就能依次訪問所有的節(jié)點,直到最后一個節(jié)點。

void TraverseLinkList(struct ListNode* head) {
    // 以頭結點作為起始節(jié)點遍歷整個鏈表
    struct ListNode* p = head;
    
    // 當p不為空時,證明還有節(jié)點沒有遍歷完
    while (p != nullptr) {
        // 輸出當前節(jié)點的值
        cout << p->value << endl;
        
        // 找到后一個節(jié)點
        p = p->next;
    }
}

通過上面的代碼,我們就完成了單鏈表最基本的定義以及使用,那我們來跑一下看輸出什么樣的結果。

int main() {
    
    // 創(chuàng)建鏈表
    struct ListNode* head = BuildLinkList();
    
    // 遍歷輸出鏈表中的數(shù)據(jù)
    TraverseLinkList(head);
    
    return 0;
}

算法通關村第一關——鏈表青銅挑戰(zhàn)筆記,算法,鏈表,筆記文章來源地址http://www.zghlxwxcb.cn/news/detail-596871.html

到了這里,關于算法通關村第一關——鏈表青銅挑戰(zhàn)筆記的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 算法通關村第一關———鏈表青銅挑戰(zhàn)筆記

    算法通關村第一關———鏈表青銅挑戰(zhàn)筆記

    通過類來構建節(jié)點,用next指針將節(jié)點連起來。 會有插入位置的范圍問題,不能超出鏈表范圍 會有刪除位置的范圍問題 構造雙向鏈表 插入和刪除都有三種情況,頭中尾 ?

    2024年02月15日
    瀏覽(25)
  • [Go版]算法通關村第一關青銅——鏈表青銅挑戰(zhàn)筆記

    [Go版]算法通關村第一關青銅——鏈表青銅挑戰(zhàn)筆記

    單向鏈表圖示: 雙向鏈表圖示: 環(huán)形單向鏈表圖示: 環(huán)形雙向鏈表圖示: 源碼地址: GitHub-golang版本 如果是單向的,需要將當前節(jié)點 定位到要插入節(jié)點的前一個節(jié)點 ,否則一旦過了將無法回頭找到前一個節(jié)點 如果是雙向的,將當前節(jié)點 定位到要插入節(jié)點的前一個節(jié)點、

    2024年02月13日
    瀏覽(21)
  • 算法通關村第一關——鏈表青銅挑戰(zhàn)筆記(單鏈表)

    在LeeCode中一般這樣創(chuàng)建鏈表 要注意創(chuàng)建一個變量來遍歷,不要把head丟掉了 count position - 1可以方便操作,還能防止下標越界(cur為null)

    2024年02月15日
    瀏覽(21)
  • 【無標題】算法通關村第一關——鏈表青銅挑戰(zhàn)筆記

    【無標題】算法通關村第一關——鏈表青銅挑戰(zhàn)筆記

    算法通關村第一關——鏈表青銅挑戰(zhàn)筆記 C語言是如何構造出鏈表的 0.定義節(jié)點結構 1.建立頭指針 2.建立temp指針 3.將節(jié)點連起來 3.1 把p指向temp 3.2 設立循環(huán)節(jié)點a+temp指向a+temp變?yōu)閍

    2024年02月15日
    瀏覽(24)
  • [Go版]算法通關村第一關——鏈表青銅挑戰(zhàn)筆記

    [Go版]算法通關村第一關——鏈表青銅挑戰(zhàn)筆記

    單向鏈表圖示: 雙向鏈表圖示: 環(huán)形單向鏈表圖示: 環(huán)形雙向鏈表圖示: 源碼地址: GitHub-golang版本 如果是單向的,需要將當前節(jié)點 定位到要插入節(jié)點的前一個節(jié)點 ,否則一旦過了將無法回頭找到前一個節(jié)點 如果是雙向的,將當前節(jié)點 定位到要插入節(jié)點的前一個節(jié)點、

    2024年02月15日
    瀏覽(21)
  • 算法通關存第一關------鏈表青銅挑戰(zhàn)筆記

    如上代碼其實就已經構造出了一個鏈表。 定義一個Node結點類,他有兩個屬性var,和next。由于next是Node類型,這時候next又會指向同為Node類型的對象,這個對象也擁有var,和next兩個屬性,由此構造出一個鏈表。 文章最后會有構造鏈表實例,完整代碼。 ? 2.1 插入結點 在插入鏈

    2024年02月15日
    瀏覽(18)
  • 編程導航算法通關村第一關|青銅|鏈表基礎

    編程導航算法通關村第一關|青銅|鏈表基礎

    JVM有棧區(qū)和堆區(qū) 棧區(qū):存引用,就是指向實際對象的地址。。 堆區(qū):存的是創(chuàng)建的對象。 定義 規(guī)范的鏈表定義 LeetCode算法題中常用 遍歷 插入 刪除 結點 結構遍歷 插入 從頭插入 從尾插入 從某個值為key的節(jié)點后面插入 刪除 刪除頭結點 刪除尾結點 按值刪除

    2024年02月15日
    瀏覽(52)
  • 算法通關村|青銅挑戰(zhàn)----鏈表

    前言:數(shù)據(jù)結構的基礎:創(chuàng)建+增刪改查 學習目標:單鏈表的創(chuàng)建+增刪改查,雙鏈表的創(chuàng)建+增刪改查 數(shù)據(jù)域+指針域 數(shù)據(jù)域:當前節(jié)點的元素值 指針域:當前節(jié)點保存的下一個節(jié)點的元素的地址,其中最后一個元素的指針域指向null 標準的面向對象的節(jié)點的定義: LeetCode中節(jié)

    2024年02月15日
    瀏覽(18)
  • 算法通關村第一關——鏈表經典問題之雙指針筆記

    算法通關村第一關——鏈表經典問題之雙指針筆記

    基本結構 1.尋找中間結點 2.尋找倒數(shù)第k個元素 3.旋轉鏈表

    2024年02月14日
    瀏覽(21)
  • 算法通關村第一關——鏈表經典問題之雙指針專題筆記

    我一直覺得雙指針是一個非常好用的方法,在鏈表中可以使用,在數(shù)組中依然可以,很靈活。 1. 尋找中間結點 ????????用兩個指針 slow 與 fast 一起遍歷鏈表。slow 一次走一步, fast 一次走兩步。那么當 fast 到達鏈表的末尾時,slow 必然位于中間。 2. 尋找倒數(shù)第K個元素 在這

    2024年02月15日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包