#include #include #include using namespace std; vector Merge (vector & a, vector & b); vector MergeSort (vector a) { queue> work; // Generate sub-lists of size 1, put them into queue for (int i=0;i b; b.push_back (a[i]); work.push(b); } // while there is more than one sublists in the queue, merge them while (work.size()>1) { vector v1,v2; v1 = work.front(); work.pop(); v2 = work.front(); work.pop(); vector result=Merge (v1,v2); work.push(result); } return work.front(); } vector Merge (vector & a, vector & b) { int i=0, j=0; vector result; while (i a; for (int i=10;i>=0;i--) a.push_back(i); vector b =MergeSort (a); for (int i=0;i