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

數(shù)據(jù)結(jié)構(gòu)2.2,將兩個(gè)非遞減的有序鏈表合并為一個(gè)非遞增的有序鏈表,要求結(jié)果鏈表仍使用原來(lái)兩個(gè)鏈表的存儲(chǔ)空間,不占用其他的存儲(chǔ)空間。表中允許有重復(fù)的數(shù)據(jù)。

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)據(jù)結(jié)構(gòu)2.2,將兩個(gè)非遞減的有序鏈表合并為一個(gè)非遞增的有序鏈表,要求結(jié)果鏈表仍使用原來(lái)兩個(gè)鏈表的存儲(chǔ)空間,不占用其他的存儲(chǔ)空間。表中允許有重復(fù)的數(shù)據(jù)。。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

大概思路:1.先寫(xiě)出建立鏈表的函數(shù)(creatlist):分配頭節(jié)點(diǎn),尾指針置空。

2.寫(xiě)出插入節(jié)點(diǎn)的代碼函數(shù):申請(qǐng)一片空間存放要插入的節(jié)點(diǎn),把新插入的節(jié)點(diǎn)置空,令指向鏈表的頭節(jié)點(diǎn)的下一個(gè)指針指向該節(jié)點(diǎn),在把該指針指向新插入的節(jié)點(diǎn)。用if函數(shù)寫(xiě)出當(dāng)輸入的指小于零時(shí)跳出,(可自定義任何數(shù),此處我選擇小于零)。

3.寫(xiě)出用循環(huán)思想輸出鏈表的每個(gè)節(jié)點(diǎn)的函數(shù)

4.第四步也是最重要的一步,合并鏈表,定義三個(gè)指針,其中有一個(gè)中間指針pre,另外兩個(gè)指針?lè)謩e指向兩個(gè)鏈表的頭節(jié)點(diǎn),將要合并到的鏈表指向其中一個(gè)鏈表,為了滿(mǎn)足題目中不占用其他存儲(chǔ)空間的要求,再用while和if循環(huán)比較,pa->data <= pb->data時(shí),令中間指針pre指向pa下一個(gè)結(jié)點(diǎn),pa下一個(gè)結(jié)點(diǎn)指向La下一個(gè)結(jié)點(diǎn),即置空,再把pa連起來(lái),然后pa指針后移。反之同理。

5.當(dāng)兩個(gè)鏈表長(zhǎng)度不一樣時(shí),我們需要處理剩下的數(shù)據(jù),此時(shí)只需把剩下的數(shù)據(jù)接到我們排好的鏈表之后就可以。

6.接下來(lái)在主函數(shù)main中運(yùn)用我們定義的函數(shù)就完成了。

#include?<stdio.h>

#include?<iostream>

typedef?struct?LNode?{

int?data;

struct?LNode* next;

}LNode,*Linklist;

//建立一個(gè)鏈表并輸入結(jié)點(diǎn)的值

void?creatlist(Linklist?&L) {

? ? Linklist?p, q;

? ? L?= (Linklist)malloc(sizeof(LNode));//分配一個(gè)頭節(jié)點(diǎn)

? ? L->next ?= NULL;

? ? q = L;

? ? p = L;

? ? while?(L) {//新增并插入一個(gè)結(jié)點(diǎn)

? ? ? ? q = (Linklist)malloc(sizeof(LNode));//分配一個(gè)結(jié)點(diǎn)

? ? ? ? q->next = NULL;

? ? ? ? printf("輸入結(jié)點(diǎn)的值:\n");

? ? ? ? scanf_s("%d", &q->data);

? ? ? ? if?(q->data < 0)

? ? ? ? ? ? break;

? ? ? ? p->next = q;

? ? ? ? p = q;

? ? }

}

//輸出鏈表

void?print(Linklist?&L) {

? ? Linklist?p;

? ? p = L->next;

? ? while?(p) {

? ? ? ? printf("%d ", p -> data);

? ? ? ? p = p->next;

? ? }

}

//合并鏈表

void?integratelist(Linklist& La, Linklist& Lb, Linklist& L) {

? ? Linklist?pa, pb, pre;

? ? pa = La->next;

? ? pb = Lb->next;

? ? L?= La;

? ? La->next = NULL;//鏈表置空

? ? while?(pa && pb) {

? ? ? ? if?(pa->data <= pb->data) {

? ? ? ? ? ? pre = pa->next;//中間指針指向pa下一個(gè)結(jié)點(diǎn)

? ? ? ? ? ? pa->next=La->next;//pa下一個(gè)結(jié)點(diǎn)指向La下一個(gè)結(jié)點(diǎn),即置空

? ? ? ? ? ? La->next=pa;//鏈接pa

? ? ? ? pa=pre;

}

? ? else{

? ? ? ? pre = pb->next;

? ? ? ? pb->next = La->next;

? ? ? ? La->next = pb;

? ? ? ? pb = pre;

? ? }

}

if?(pa)//處理pa剩余的部分

? ? pb = pa;

while?(pb) {//處理pb剩余的部分

? ? pre = pb->next;

? ? pb->next = La->next;

? ? La->next = pb;

? ? pb = pre;

}

? ? free(Lb);

}

int?main() {

? ? Linklist?La, Lb, L;

? ? creatlist(La);

? ? creatlist(Lb);

? ? integratelist(La, Lb, L);

? ? print(L);

? ? return?0;

}

下面是運(yùn)行的結(jié)果

將兩個(gè)非遞減的有序鏈表合并為一個(gè)非遞增的有序鏈表,數(shù)據(jù)結(jié)構(gòu),鏈表,算法文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-745437.html

到了這里,關(guān)于數(shù)據(jù)結(jié)構(gòu)2.2,將兩個(gè)非遞減的有序鏈表合并為一個(gè)非遞增的有序鏈表,要求結(jié)果鏈表仍使用原來(lái)兩個(gè)鏈表的存儲(chǔ)空間,不占用其他的存儲(chǔ)空間。表中允許有重復(fù)的數(shù)據(jù)。的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 27、鏈表-合并兩個(gè)有序鏈表

    27、鏈表-合并兩個(gè)有序鏈表

    這道題不需要集合放入兩個(gè)鏈表再進(jìn)行重排序,只需要兩個(gè)指針,按大小進(jìn)行遍歷,代碼如下: ?

    2024年04月14日
    瀏覽(22)
  • 21. 合并兩個(gè)有序鏈表

    21. 合并兩個(gè)有序鏈表

    ?

    2024年02月12日
    瀏覽(25)
  • 合并兩個(gè)有序鏈表

    合并兩個(gè)有序鏈表

    題目鏈接 :力扣21,合并兩個(gè)有序鏈表 將兩個(gè)升序鏈表合并為一個(gè)新的 升序 鏈表并返回。新鏈表是通過(guò)拼接給定的兩個(gè)鏈表的所有節(jié)點(diǎn)組成的。 首先我們能夠想到的就是 遍歷一遍數(shù)組,判斷兩個(gè)結(jié)點(diǎn)的大小,將數(shù)值小的結(jié)點(diǎn)放在前面,數(shù)值大的不斷尾插在后面 。是不是聽(tīng)

    2023年04月27日
    瀏覽(27)
  • 21.合并兩個(gè)有序鏈表

    21.合并兩個(gè)有序鏈表

    一、思路 二、源碼 創(chuàng)建一個(gè)新鏈表 兩個(gè)鏈表比較,小于等于取下來(lái)尾插 循環(huán)結(jié)束條件為任意一個(gè)鏈表為空 最后將之剩下的鏈表直接尾插

    2024年01月23日
    瀏覽(19)
  • 【鏈表OJ 5】合并兩個(gè)有序鏈表

    【鏈表OJ 5】合并兩個(gè)有序鏈表

    前言:? ? ? ? ? ??歡迎大家來(lái)到Dream_Chaser~的博客?? ????????本文收錄于 C--數(shù)據(jù)結(jié)構(gòu)刷題的專(zhuān)欄中 --http://t.csdn.cn/n6UEP ????????首先歡迎大家的來(lái)訪(fǎng),其次如有錯(cuò)誤,非常歡迎大家的指正!我會(huì)及時(shí)更正錯(cuò)誤! 目錄 一.合并兩個(gè)有序鏈表 1.1核心邏輯???????? 1.2兩

    2024年02月13日
    瀏覽(23)
  • 力扣21. 合并兩個(gè)有序鏈表

    力扣21. 合并兩個(gè)有序鏈表

    題目 將兩個(gè)升序鏈表合并為一個(gè)新的 升序 鏈表并返回。新鏈表是通過(guò)拼接給定的兩個(gè)鏈表的所有節(jié)點(diǎn)組成的。? 鏈接:21. 合并兩個(gè)有序鏈表 - 力扣(LeetCode) 題解 設(shè)置兩個(gè)指針head和tail,head用來(lái)指向新鏈表的頭結(jié)點(diǎn),tail用來(lái)進(jìn)行新鏈表的尾插。比較兩個(gè)鏈表,取較小的結(jié)

    2024年02月16日
    瀏覽(30)
  • 合并兩個(gè)有序鏈表——力扣21

    合并兩個(gè)有序鏈表——力扣21

    題目描述 法一 遞歸

    2024年02月15日
    瀏覽(24)
  • 2.(1)將兩個(gè)遞增的有序鏈表合并為一個(gè)遞增的有序鏈表。要求結(jié)果鏈表仍使用原來(lái)的兩個(gè)鏈表的存儲(chǔ)空間,不另外占用其他的存儲(chǔ)空間。表中不允許有重復(fù)的數(shù)據(jù)

    2.(1)將兩個(gè)遞增的有序鏈表合并為一個(gè)遞增的有序鏈表。要求結(jié)果鏈表仍使用原來(lái)的兩個(gè)鏈表的存儲(chǔ)空間,不另外占用其他的存儲(chǔ)空間。表中不允許有重復(fù)的數(shù)據(jù)

    代碼實(shí)現(xiàn)的思路: 因?yàn)橐獙蓚€(gè)有序單鏈表合并為一個(gè)遞增的有序單鏈表,所以我們建立了三個(gè)單鏈表La,Lb,Lc,但是要求結(jié)果鏈表仍然使用原來(lái)兩個(gè)鏈表的存儲(chǔ)空間,所以我們用La的頭結(jié)點(diǎn)作為L(zhǎng)c的頭結(jié)點(diǎn),這樣直接操作單鏈表后,輸出La單鏈表和Lc單鏈表結(jié)果是一樣的。然

    2024年02月06日
    瀏覽(32)
  • Leecode之合并兩個(gè)有序鏈表

    Leecode之合并兩個(gè)有序鏈表

    目錄 一.題目及剖析 二.思路引入 三.代碼引入 四.擴(kuò)展 https://leetcode.cn/problems/merge-two-sorted-lists/description/ 將兩個(gè)升序鏈表合并為一個(gè)新的? 升序 ?鏈表并返回。新鏈表是通過(guò)拼接給定的兩個(gè)鏈表的所有節(jié)點(diǎn)組成的。? 示例 1: 示例 2: 示例 3: 提示: 兩個(gè)鏈表的節(jié)點(diǎn)數(shù)目范圍

    2024年02月20日
    瀏覽(16)
  • Leetcode 21. 合并兩個(gè)有序鏈表

    Leetcode 21. 合并兩個(gè)有序鏈表

    題目鏈接:https://leetcode.cn/problems/merge-two-sorted-lists/description/ 兩個(gè)鏈表都是升序鏈表,新建一個(gè)鏈表,引入偽頭節(jié)點(diǎn)作為輔助節(jié)點(diǎn),將各節(jié)點(diǎn)添加到偽節(jié)點(diǎn)之后,再用一個(gè)cur節(jié)點(diǎn)指向新鏈表的末尾 遍歷兩個(gè)鏈表,對(duì)比每個(gè)節(jié)點(diǎn)值,將更小的鏈表節(jié)點(diǎn)加入到新鏈表中 如果其中一

    2024年02月13日
    瀏覽(15)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包