1: //list10.cpp 3: #include <iostream> 4: #include <list> 5: using namespace std; 7: int main() 8: { 9: cout << "\nThis program illustrates how one list can be " 10: "assigned to another list\nof the same component type, " 11: "using the assignment operator (=), and also\nillustrates " 12: "the use of the assign() member function for assigning " 13: "values\nto a list."; 14: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 16: cout << "\nFirst we demonstrate use of the assignment operator."; 17: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 19: int a1[] = {1, 2, 3, 4, 5}; 20: list<int> lst1(a1, a1+5); 21: cout << "\nFor lst1 we have ..."; 22: cout << "\nSize = " << lst1.size(); 23: cout << "\nContents: "; 24: list<int>::iterator p = lst1.begin(); 25: while (p != lst1.end()) cout << *p++ << " "; 26: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 28: int a2[] = {1, 2, 3, 4, 5, 6, 7}; 29: list<int> lst2(a2, a2+7); 30: cout << "\nFor lst2 we have ..."; 31: cout << "\nSize = " << lst2.size(); 32: cout << "\nContents: "; 33: p = lst2.begin(); 34: while (p != lst2.end()) cout << *p++ << " "; 35: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 37: int a3[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 38: list<int> lst3(a3, a3+10); 39: cout << "\nFor lst3 we have ..."; 40: cout << "\nSize = " << lst3.size(); 41: cout << "\nContents: "; 42: p = lst3.begin(); 43: while (p != lst3.end()) cout << *p++ << " "; 44: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 46: lst2 = lst1; 47: cout << "\nNow we assign lst1 to lst2 (lst2 = lst1). " 48: "\nThen for lst2 we have ..."; 49: cout << "\nSize = " << lst2.size(); 50: cout << "\nContents: "; 51: p = lst2.begin(); 52: while (p != lst2.end()) cout << *p++ << " "; 53: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 55: lst2 = lst3; 56: cout << "\nNow we assign lst3 to lst2 (lst2 = lst3). " 57: "\nThen for lst2 we have ..."; 58: cout << "\nSize = " << lst2.size(); 59: cout << "\nContents: "; 60: p = lst2.begin(); 61: while (p != lst2.end()) cout << *p++ << " "; 62: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 64: cout << "\nNow we demonstrate use of the assign() member function."; 65: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 67: int a4[] = {2, 4, 6, 8}; 68: list<int> lst4(a4, a4+4); 69: cout << "\nFor lst4 we have ..."; 70: cout << "\nSize = " << lst4.size(); 71: cout << "\nContents: "; 72: p = lst4.begin(); 73: while (p != lst4.end()) cout << *p++ << " "; 74: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 76: lst4.assign(3, 10); 77: cout << "\nNow we perform lst4.assign(3, 10). " 78: "\nThen for lst4 we have ..."; 79: cout << "\nSize = " << lst4.size(); 80: cout << "\nContents: "; 81: p = lst4.begin(); 82: while (p != lst4.end()) cout << *p++ << " "; 83: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 85: lst4.assign(6, 12); 86: cout << "\nNow we perform lst4.assign(6, 12). " 87: "\nThen for lst4 we have ..."; 88: cout << "\nSize = " << lst4.size(); 89: cout << "\nContents: "; 90: p = lst4.begin(); 91: while (p != lst4.end()) cout << *p++ << " "; 92: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 94: int a5[] = {1, 3, 5, 7, 9}; 95: list<int> lst5(a5, a5+5); 96: cout << "\nFor lst5 we have ..."; 97: cout << "\nSize = " << lst5.size(); 98: cout << "\nContents: "; 99: p = lst5.begin(); 100: while (p != lst5.end()) cout << *p++ << " "; 101: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 103: int a6[] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20}; 104: list<int> lst6(a6, a6+10); 105: cout << "\nFor lst6 we have ..."; 106: cout << "\nSize = " << lst6.size(); 107: cout << "\nContents: "; 108: p = lst6.begin(); 109: while (p != lst6.end()) cout << *p++ << " "; 110: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 112: list<int>::iterator p1 = lst6.begin(); 113: list<int>::iterator p2 = lst6.end(); 114: ++p1; ++p1; 115: --p2; --p2; --p2; --p2; 116: lst5.assign(p1, p2); 117: cout << "\nNow we assign the 3rd to the 6th values of lst6 to lst5." 118: "\nThen for lst5 we have ..."; 119: cout << "\nSize = " << lst5.size(); 120: cout << "\nContents: "; 121: p = lst5.begin(); 122: while (p != lst5.end()) cout << *p++ << " "; 123: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 125: p1 = lst6.begin(); 126: p2 = lst6.end(); 127: ++p1;; 128: --p2; --p2; --p2; 129: lst5.assign(p1, p2); 130: cout << "\nNow we assign the 2nd to the 8th values of lst6 to lst5." 131: "\nThen for lst5 we have ..."; 132: cout << "\nSize = " << lst5.size(); 133: cout << "\nContents: "; 134: p = lst5.begin(); 135: while (p != lst5.end()) cout << *p++ << " "; 136: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 137: }