#include <vector.h> #include <algo.h> void pause() { char c; cout << "\n\nPress return to continue: "; cin.get(c); cout << "\n\n"; } int main() { vector<int> v(10,0); ostream_iterator<int> out(cout, " "); copy(v.begin(), v.end(), out); pause(); vector<int>::iterator i = v.begin(); i += 4; *i++ = 7; // or v[4] = 7; *i = 9; // or v[5] = 9; copy(v.begin(), v.end(), out); pause(); vector<int>::iterator where = find(v.begin(), v.end(), 9); copy(where, v.end(), out); pause(); where = v.insert(where, 8); copy(v.begin(), v.end(), out); pause(); where += 3; where = v.insert(where, 4); copy(v.begin(), v.end(), out); pause(); where -= 6; where = v.insert(where, 11); copy(v.begin(), v.end(), out); pause(); v.erase(where+2); copy(v.begin(), v.end(), out); pause(); sort(v.begin(), v.end()); copy(v.begin(), v.end(), out); pause(); if (binary_search(v.begin(), v.end(), 8)) cout << "Yes, 8 occurs in vector v."; else cout << "No, didn't find 8 in vector v."; pause(); if (binary_search(v.begin(), v.end(), 12)) cout << "Yes, 12 occurs in vector v."; else cout << "No, didn't find 12 in vector v."; pause(); where = lower_bound(v.begin(), v.end(), 8); copy(where, v.end(), out); pause(); where = lower_bound(v.begin(), v.end(), 0); copy(where, v.end(), out); pause(); where = upper_bound(v.begin(), v.end(), 0); copy(where, v.end(), out); pause(); vector<int> w(v); if (v == w) cout << "v and w have the same contents"; else cout << "v and w have different contents"; pause(); w[5] = 17; if (v == w) cout << "v and w have the same contents"; else cout << "v and w have different contents"; pause(); v[5] = 17; if (v == w) cout << "v and w have the same contents"; else cout << "v and w have different contents"; pause(); return 0; }