C++/Vector/vector merge — различия между версиями
Admin (обсуждение | вклад) м (1 версия: Импорт контента...) |
|
(нет различий)
|
Текущая версия на 13:27, 25 мая 2010
Merge two vectors
<source lang="cpp">
- 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);
}
</source>
Merge two vectors with merge(scores.begin(), scores.end(),moreScores.begin(), moreScores.end(),allScores.begin())
<source lang="cpp">
- 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;
}
</source>