// Demonstrating the basic deque constructors and functions #include #include #include void show_int (int i) { cout << i << " " ; } void display_deque (const deque &d, string title) { cout << title << "[ "; for_each(d.begin(), d.end(), show_int); cout << "]" << endl; } int main() { cout << "Demonstrating Simple Use of deques." << endl; int x[5] = {2, 3, 5, 7, 11}; // Initialize deque1 to x[0] through x[4]: deque deque1(&x[0], &x[5]); display_deque(deque1, "deque 1"); deque deque2; // populating the deque using "push_back" deque2.push_back(89); deque2.push_back(99); deque2.push_back(79); deque2.push_back(69); deque2.push_back(59); deque2.push_back(49); display_deque(deque2, "deque 2"); deque2.push_front(23); deque2.push_front(123); display_deque(deque2, "deque 2"); // deque supports subscripts: for (int i=0; i < deque2.size(); i++) cout << "Value at position: " << i << " equals " << deque2[i] << endl; cout << "Items greater than 80: " << count_if(deque2.begin(), deque2.end(), bind2nd(greater(), 80)) << endl; }