7-2 兩個有序連結串列序列的合併 (20分)
已知兩個非降序連結串列序列S1與S2,設計函式構造出S1與S2合併後的新的非降序連結串列S3。
輸入格式:
輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用−1表示序列的結尾(−1不屬於這個序列)。數字用空格間隔。
輸出格式:
在一行中輸出合併後新的非降序連結串列,數字間用空格分開,結尾不能有多餘空格;若新連結串列為空,輸出NULL。
輸入樣例:
1 3 5 -1
2 4 6 8 10 -1
輸出樣例:
1 2 3 4 5 6 8 10
一看是合併集合序列,上來就set_union()一把,12分。。提示有並列和大規模輸入這兩個測試點錯誤。很明顯,如果兩序列有相同的資料,相同的資料也在最後的目標序列中,反正我不喜歡用連結串列,看了看筆記,有merge函式,就用了這個。它可以合併兩個集合序列,而且元素總個數保持不變,就和題目意思一樣了。但要注意為目標序列設定大小,總個數不變,那就直接兩個序列大小之和即可。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
vector<int> v1,v2;
int num;
while(true){
cin >> num;
if(num==-1)
break;
v1.push_back(num);
}
while(true){
cin >> num;
if(num==-1)
break;
v2.push_back(num);
}
vector<int> v3(v1.size()+v2.size());
merge(v1.begin(),v1.end(),v2.begin(),v2.end(),v3.begin());
if(v3.empty()){
cout << "NULL";
return 0;
}
for(auto it = v3.begin();it!=v3.end();it++){
if(it==v3.begin())
cout << *it;
else
cout << " " << *it;
}
return 0;
}
相關文章
- 合併兩個有序連結串列
- 7-24 兩個有序連結串列序列的合併 (20 分)
- 兩個有序連結串列序列的交集
- leetcode:21. 合併兩個有序連結串列(連結串列,簡單)LeetCode
- 02-線性結構1 兩個有序連結串列序列的合併 (15分)
- 每日leetcode——21. 合併兩個有序連結串列LeetCode
- 遞迴:21. 合併兩個有序連結串列遞迴
- 【LeetCode Hot 100】21. 合併兩個有序連結串列LeetCode
- Leetcode 21 合併兩個有序連結串列 學習感悟LeetCode
- 【演算法-java實現】合併兩個有序連結串列演算法Java
- Fourth. LeetCode 21:MergeTwo Sorted Lists 合併兩個有序連結串列LeetCode
- 23. 合併K個元素的有序連結串列
- 讓我們一起啃演算法----合併兩個有序連結串列演算法
- JZ-016-合併兩個排序的連結串列排序
- 測試開發每日演算法 Leecode21. 合併兩個有序連結串列演算法
- leetcode雙週賽(2)-合併兩個連結串列LeetCode
- 前端菜鳥的每週一道演算法題(三) 合併兩個有序連結串列前端演算法
- 合併K個排序連結串列排序
- 將兩個升序連結串列合併為一個新的 升序 連結串列並返回。(新手篇06)
- 合併兩個有序陣列陣列
- 資料結構實驗之連結串列四:有序連結串列的歸併資料結構
- [每日一題] 第十八題:合併兩個排序的連結串列每日一題排序
- 88、合併兩個有序陣列陣列
- 反轉連結串列、合併連結串列、樹的子結構
- 劍指 Offer 25. 合併兩個排序的連結串列 JavaScript實現排序JavaScript
- LeetCode 之 JavaScript 解答第23題 —— 合併K個有序連結串列(Merge K Sorted Lists)LeetCodeJavaScript
- 88. 合併兩個有序陣列陣列
- 將兩個有序陣列合併為一個有序陣列陣列
- 兩個有序陣列如何合併成一個有序陣列陣列
- leetcode23. 合併K個排序連結串列LeetCode排序
- leecode.23. 合併K個升序連結串列
- LeetCode 23. 合併K個排序連結串列LeetCode排序
- 【LeetCode】88. 合併兩個有序陣列LeetCode陣列
- 淺談歸併排序:合併 K 個升序連結串列的歸併解法排序
- 演算法基礎~連結串列~排序連結串列的合併(k條)演算法排序
- 18.合併兩個有序陣列(簡單)陣列
- 資料結構實驗之連結串列六:有序連結串列的建立資料結構
- 兩個連結串列的第一個公共結點