合併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...