#include #include using std::cout; using std::endl; int main(int argc, char* argv[]) { std::list list1, list2; for (int i = 1 ; i <= 256 ; i*=2) { list1.push_back(i); } for (int i = 0; i < 50 ; i+=5) { list2.push_back(i); } // both list's must be in oder from less than to greater list1.merge(list2); for (std::list::iterator iter = list1.begin() ; iter != list1.end() ; ++iter) { cout << *iter << endl; } list1.clear(); list2.clear(); cout << "==========================clear================================"<< endl; for (int i = 256 ; i > 1 ; i/=2) { list1.push_back(i); } for (int i = 50; i > 0 ; i-=5) { list2.push_back(i); } // both list's must be in oder from big to small list1.merge(list2, std::greater()); for (std::list::iterator iter = list1.begin() ; iter != list1.end() ; ++iter) { cout << *iter << endl; } return 0; }