//: C05:MergeTest.cpp // From Thinking in C++, 2nd Edition // Available at http://www.BruceEckel.com // (c) Bruce Eckel 2000 // Copyright notice in Copyright.txt // Test merging in sorted ranges #include #include "PrintSequence.h" #include "Generators.h" using namespace std; int main() { const int sz = 15; int a[sz*2] = {0}; // Both ranges go in the same array: generate(a, a + sz, SkipGen(0, 2)); generate(a + sz, a + sz*2, SkipGen(1, 3)); print(a, a + sz, "range1", " "); print(a + sz, a + sz*2, "range2", " "); int b[sz*2] = {0}; // Initialize all to zero merge(a, a + sz, a + sz, a + sz*2, b); print(b, b + sz*2, "merge", " "); // set_union is a merge that removes duplicates set_union(a, a + sz, a + sz, a + sz*2, b); print(b, b + sz*2, "set_union", " "); inplace_merge(a, a + sz, a + sz*2); print(a, a + sz*2, "inplace_merge", " "); } ///:~