C++/Vector/vector merge
Merge two vectors
#include <algorithm>
#include <vector>
#include <iostream>
using namespace std;
void print(int elem)
{
cout << elem << " ";
}
int main(int argc, char** argv)
{
vector<int> v1, v2, vectorMerged;
v1.push_back(1);
v1.push_back(2);
v1.push_back(3);
v2.push_back(2);
v2.push_back(3);
v2.push_back(4);
sort(v1.begin(), v1.end());
sort(v2.begin(), v2.end());
vectorMerged.resize(v1.size() + v2.size());
merge(v1.begin(), v1.end(), v2.begin(),v2.end(), vectorMerged.begin());
cout << "Merged vector: ";
for_each(vectorMerged.begin(), vectorMerged.end(), &print);
return (0);
}
Merge two vectors with merge(scores.begin(), scores.end(),moreScores.begin(), moreScores.end(),allScores.begin())
#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
vector<int>::const_iterator iter;
vector<int> scores;
scores.push_back(1);
scores.push_back(3);
scores.push_back(5);
for (iter = scores.begin(); iter != scores.end(); ++iter)
cout << *iter << endl;
vector<int> moreScores;
moreScores.push_back(2);
moreScores.push_back(4);
moreScores.push_back(8);
for (iter = moreScores.begin(); iter != moreScores.end(); ++iter)
cout << *iter << endl;
vector<int> allScores(6); //need container big enough to hold results
merge(scores.begin(), scores.end(),moreScores.begin(), moreScores.end(),allScores.begin());
for (iter = allScores.begin(); iter != allScores.end(); ++iter)
cout << *iter << endl;
return 0;
}