Объединить два упорядоченных по возрастанию списка в один, упорядоченный по неубыванию C++
ПОМОГИТЕ СРОЧНО ПОЖАЛУЙСТА!!!!
ДАМ 35 БАЛЛОВ!!!!
Ответы
#include <iostream>
#include <list>
using namespace std;
void solve(){
int n, m;
list<int> u, v, a;
cout << "Size of the first list: \n";
cin >> n;
cout << "Elements of the first list: \n";
for(int i = 0; i < n; i++){
int x;
cin >> x;
u.push_back(x);
}
cout << "Size of the second list: \n";
cin >> m;
cout << "Elements of the second list: \n";
for(int i = 0; i < m; i++){
int x;
cin >> x;
v.push_back(x);
}
auto itU = u.begin(), itV = v.begin();
while(itU != u.end() && itV != v.end()){
if(*itU < *itV){
a.push_back(*itU);
itU++;
}
else{
a.push_back(*itV);
itV++;
}
}
while(itU != u.end()){
a.push_back(*itU);
itU++;
}
while(itV != v.end()){
a.push_back(*itV);
itV++;
}
auto itA = a.begin();
cout << "Result list: \n";
while(itA != a.end()){
cout << *itA << " ";
itA++;
}
}
int main(){
solve();
}
Если ты имеешь виду про реализацию списка, то есть написать собственный класс, то просто реализовать свой класс, через указатели, и заменить list на название класса, который ты реализуешь