最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++實(shí)現(xiàn)單鏈表刪除倒數(shù)第k個(gè)節(jié)點(diǎn)的方法

 更新時(shí)間:2017年05月09日 14:53:42   作者:難免有錯(cuò)_  
這篇文章主要介紹了C++實(shí)現(xiàn)單鏈表刪除倒數(shù)第k個(gè)節(jié)點(diǎn)的方法,結(jié)合實(shí)例形式分析了C++單鏈表的定義、遍歷及刪除相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了C++實(shí)現(xiàn)單鏈表刪除倒數(shù)第k個(gè)節(jié)點(diǎn)的方法。分享給大家供大家參考,具體如下:

題目:

刪除單鏈表中倒數(shù)第k個(gè)節(jié)點(diǎn)

解題思路及算法代碼:

標(biāo)尺法,定義兩個(gè)指針指向鏈表頭結(jié)點(diǎn),先讓一個(gè)走k步,然后兩個(gè)指針同時(shí)開始走,當(dāng)先走的指針走到末尾時(shí),后走的指針指向的結(jié)點(diǎn)就是需要?jiǎng)h除的結(jié)點(diǎn)。

單鏈表結(jié)構(gòu)定義:

typedef struct Node
{
  int data;
  struct Node* next;
}node, *pLinkedList;

刪除倒數(shù)第K結(jié)點(diǎn)操作代碼:

//head表示頭結(jié)點(diǎn)
Node* removeLastKthNode(pLinkedList head, int k)
{
  if (NULL == head->next || k < 1)
    return head;
  pLinkedList cur = head; //1號指針
  pLinkedList ret = head; //2號指針,指向待刪除節(jié)點(diǎn)
  pLinkedList pre = NULL; //pdel待刪除節(jié)點(diǎn)的前一個(gè)節(jié)點(diǎn)
  /*
  head  1  2  3  4  5
  cur
  ret
  */
  while (k > 0 && cur != NULL)
  {
    k--;
    cur = cur->next;
  }
  //當(dāng)鏈表走到終點(diǎn)時(shí),k仍然大于0,可知k值大于鏈表長度
  if (k > 0 && cur == NULL)
  {
    cout << "k值大于鏈表長度" << endl;
    return head;
  }
  //k == 0時(shí),1號指針和2號指針同時(shí)走,ret即為待刪除的節(jié)點(diǎn)
  if (k == 0)
  {
    while (cur != NULL)
    {
      pre = ret;
      cur = cur->next;
      ret = ret->next;
    }
    /*k = 2時(shí)
    head  1    2   3    4   5  NULL
               pre   ret     cur
    即要求刪除ret節(jié)點(diǎn)
    */
    pre->next = ret->next;
    free(ret);
    ret = NULL;
    return head;
  }
}

希望本文所述對大家C++程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • c++判斷文件是否存在的方法匯總

    c++判斷文件是否存在的方法匯總

    這篇文章主要介紹了c++判斷文件是否存在的方法匯總,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C++大整數(shù)加法解題思路及參考代碼

    C++大整數(shù)加法解題思路及參考代碼

    大整數(shù)加法的思路是用兩個(gè)數(shù)組儲(chǔ)存兩個(gè)整數(shù)的每一位然后分別相加,下面這篇文章主要給大家介紹了關(guān)于C++大整數(shù)加法解題思路及參考代碼的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • C語言中用于修改文件的存取時(shí)間的函數(shù)使用

    C語言中用于修改文件的存取時(shí)間的函數(shù)使用

    這篇文章主要介紹了C語言中用于修改文件的存取時(shí)間的函數(shù)使用,分別為utime()函數(shù)和utimes()函數(shù)的使用,需要的朋友可以參考下
    2015-09-09
  • Qt物聯(lián)網(wǎng)管理平臺(tái)之實(shí)現(xiàn)告警短信轉(zhuǎn)發(fā)

    Qt物聯(lián)網(wǎng)管理平臺(tái)之實(shí)現(xiàn)告警短信轉(zhuǎn)發(fā)

    系統(tǒng)在運(yùn)行過程中,會(huì)實(shí)時(shí)采集設(shè)備的數(shù)據(jù),當(dāng)采集到的數(shù)據(jù)發(fā)生報(bào)警后,可以將報(bào)警信息以短信的形式發(fā)送給指定的管理員。本文將利用Qt實(shí)現(xiàn)告警短信轉(zhuǎn)發(fā),感興趣的可以嘗試一下
    2022-07-07
  • C語言 ffmpeg與sdl實(shí)現(xiàn)播放視頻同時(shí)同步時(shí)鐘詳解

    C語言 ffmpeg與sdl實(shí)現(xiàn)播放視頻同時(shí)同步時(shí)鐘詳解

    使用ffmpeg和sdl實(shí)現(xiàn)播放視頻后,需要再實(shí)現(xiàn)時(shí)鐘同步才能正常的播放視頻,尤其是有音頻的情況,我們通常需要將視頻同步到音頻來確保音畫同步
    2022-09-09
  • C++ vtordisp的應(yīng)用場景分析

    C++ vtordisp的應(yīng)用場景分析

    文章介紹了C++中的vtordisp機(jī)制,用于在虛繼承和虛函數(shù)結(jié)合的場景下,確保構(gòu)造函數(shù)和析構(gòu)函數(shù)中對虛基類指針的正確調(diào)整,文章詳細(xì)解釋了vtordisp的基本概念、應(yīng)用場景以及編譯器相關(guān)的考慮,感興趣的朋友一起看看吧
    2025-01-01
  • C++實(shí)現(xiàn)LeetCode(112.二叉樹的路徑和)

    C++實(shí)現(xiàn)LeetCode(112.二叉樹的路徑和)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(112.二叉樹的路徑和),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • Matlab實(shí)現(xiàn)灰色預(yù)測的示例代碼

    Matlab實(shí)現(xiàn)灰色預(yù)測的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Matlab實(shí)現(xiàn)灰色預(yù)測,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以了解一下
    2022-05-05
  • C語言遞歸系列的深入總結(jié)

    C語言遞歸系列的深入總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于C語言遞歸系列的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 餐館點(diǎn)菜系統(tǒng)C語言源代碼

    餐館點(diǎn)菜系統(tǒng)C語言源代碼

    這篇文章主要為大家詳細(xì)介紹了餐館點(diǎn)菜系統(tǒng)C語言源代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11

最新評論

张北县| 嘉鱼县| 壤塘县| 沙雅县| 漠河县| 乌审旗| 绥江县| 玉林市| 兴和县| 乌鲁木齐县| 慈利县| 泰顺县| 玉门市| 丰顺县| 东乡| 皋兰县| 鄱阳县| 雅安市| 武定县| 醴陵市| 安龙县| 平湖市| 洱源县| 莫力| 出国| 潜山县| 中方县| 潮州市| 西昌市| 左贡县| 工布江达县| 普兰店市| 马鞍山市| 中牟县| 珲春市| 罗源县| 莒南县| 柘荣县| 句容市| 滕州市| 泉州市|