C 合併鍊錶

2021-06-25 17:08:04 字數 2058 閱讀 6274

合併2個遞增鍊錶,使得合併後仍保持遞增順序:

mergelist.cpp:

/*合併2個排序的鍊錶,2個遞增的排序鍊錶,合併這2個使得新煉表中的結點仍是按照遞增順序排列的*/

#include #include #include "list.h"

using namespace std;

listnode* mergelist(listnode* phead1,listnode* phead2)

else

return pmerge;

}// ********************測試**********************

listnode* test(char* testname, listnode* phead1, listnode* phead2)

// 兩個鍊錶中有重複的數字

// list1: 1->3->5

// list2: 1->3->5

void test2()

// 兩個鍊錶都只有乙個數字

// list1: 1

// list2: 2

void test3()

// 乙個鍊錶為空鍊錶

// list1: 1->3->5

// list2: 空鍊錶

void test4()

// 兩個鍊錶都為空鍊錶

// list1: 空鍊錶

// list2: 空鍊錶

void test5()

int main()

鍊錶基本結構及操作:

C 鍊錶合併

問題描述 兩個非降序鍊錶的並集,例如將鍊錶1 2 3 和 2 3 5 並為 1 2 3 5,只能輸出結果,不能修改兩個鍊錶的資料。輸入形式 第一行首先是資料的個數,然後是第乙個鍊錶的各結點值,以空格分隔。第二行首先也是資料的個數,然後是第二個鍊錶的各結點值,以空格分隔。輸出形式 合併好的鍊錶,以非降...

鍊錶 C 鍊錶建立 刪除 排序,合併

實現c 鍊錶的建立 刪除 排序 合併 保持單調不減 題目 建立鍊錶 對鍊錶進行排序 合併兩個排序的鍊錶 保持單調不減 合併思路 方法1 如果將兩鍊錶頭尾相接後再整體排序,複雜度太高。因此可以利用鍊錶已經排好序的特點進行逐步合併。用兩個指標p1 p2指向兩煉表頭結點head1 head2,並比較,顯然...

合併有序鍊錶C

author victor lv date 2016 9 1 11 20 description c list merge sort c 將兩個公升序排列的鍊錶合併成乙個公升序排列的鍊錶 不開闢新的鍊錶,直接將原鍊錶重新組合 輸入 兩個list的頭指標 返回 新的list頭指標 listnode f...