#include "pch.h"
#include <iostream>
#include <list>
std::list<int> MergeTwoList(const std::list<int>& list1, const std::list<int>& list2) {
std::list<int> list_result;
auto list_a(list1);
auto list_b(list2);
while (!list_a.empty() && !list_b.empty()) {
auto head_a = list_a.front();
auto head_b = list_b.front();
if (head_a > head_b) {
list_result.push_back(head_a);
list_a.pop_front();
}
else if (head_a < head_b) {
list_result.push_back(head_b);
list_b.pop_front();
}
else {
list_result.push_back(head_a);
list_result.push_back(head_b);
list_a.pop_front();
list_b.pop_front();
}
}
for (auto n : list_a) {
list_result.push_back(n);
}
for (auto n : list_b) {
list_result.push_back(n);
}
return list_result;
}
int main()
{
std::cout << "Hello World!\n";
std::list<int> list_a{ 6,4,3,1 };
std::list<int> list_b{ 3,2,1 };
std::list<int> list_ret = MergeTwoList(list_a, list_b);
return 0;
}