// Prog: listTest.cpp // test the class ifmp::list from list.cpp #include #include "list.h" int main() { ifmp::list l1; l1.push_front (1); l1.push_front (3); l1.push_front (2); std::cout << l1 << "\n"; // 2 3 1 ifmp::list l2 = l1; std::cout << l2 << "\n"; // 2 3 1 l1.push_back(5); l1.push_back(6); std::cout << l1 << "\n"; // 2 3 1 5 6 std::cout << l2 << "\n"; // 2 3 1 ifmp::list l3; l3 = l1; std::cout << l3 << "\n"; // 2 3 1 5 6 l1.push_back(7); std::cout << l1 << "\n"; // 2 3 1 5 6 7 std::cout << l3 << "\n"; // 2 3 1 5 6 l3.remove(1); std::cout << l3 << "\n"; // 2 3 5 6 l3.remove(2); std::cout << l3 << "\n"; // 3 5 6 l3.remove(6); std::cout << l3 << "\n"; // 3 5 l3.remove(4); std::cout << l3 << "\n"; // 3 5 l3.pop_front(); std::cout << l3 << "\n"; // 5 l3.pop_front(); std::cout << l3.empty() << "\n"; // true ifmp::list l4 = l2; // 2 3 1 // Homework: operator== // uncomment the code below: // std::cout << (l2 == l4) << "\n"; // true // l2.pop_front(); // std::cout << l2 << "\n"; // 3 1 // std::cout << (l2 == l4) << "\n"; // false // Homework: reverse() // uncomment the code below: //l2.reverse(); //std::cout << l2 << "\n"; // 1 3 //l2.push_back(2); //std::cout << l2 << "\n"; // 1 3 2 //l4.reverse(); //std::cout << l4 << "\n"; // 1 3 2 //std::cout << (l2 == l4) << "\n"; // true // Tutorial 12: size() // std::cout << l2.size() << "\n"; // 3 // std::cout << l3.size() << "\n"; // 0 // Tutorial 12: operator+= (append list) // l3 += l3; // std::cout << l3.size() << "\n"; // 0 // l4 = l3; // l3 += l2; // std::cout << l3 << "\n"; // 1 3 2 // l3 += l4; // std::cout << l3 << "\n"; // 1 3 2 return 0; }