504 __ Часть III. Современное программирование на C++
int. main () (
// Создание двух списков целых чисел
INT_LIST intListI, intList2;
// Порождение списка случайных целых
generate n(inserter(intListI, intListl.begin()),10, rand);
generate n(inserter(intList2, intList2.begin()),5, rand);
cout « "intListl: ";
copy(intListl.begin(), intListl.end(), ostream_iterator<int>(cout, " "));
cout' « endl;
cout « "intList2: ";
copy(intList2.begin(), intList2.end(), ostream_iterator<int>(cout, " "));
cout « endl;
intListl.sort() ;
cout « "intListl отсортирован: ";
copy(intListl.begin(), intListl.end(), ostream_iterator<int>(cout, " "));
cout « endl;
intList2.sort();
cout « "intList2 отсортирован: ";
copy(intList2.begin(), intList2.end(), ostream_iterator<int>(cout, " "));
cout « endl;
intList2.reverse() ;
cout « "intList2 перевернут: ";
copy(intList2.begin(), intList2.end(), ostream_iterator<int>(cout, " "));
cout « endl;
intList2.reverse();
intListl.merge(intList2) ;
intListl.sort() ;
cout « "intListl слит с intList2: ";
copy(intListl.begin(), intListl.end(), ostream_iterator<int>(cout, " "));
cout « endl;
cout « "intList2.empty() = " « intList2.empty() « endl;
return 0;
Стек
Стек (stack) — это структура данных, организованная по принципу LIFO:
"последним пришел, первым вышел" (Last In, First Out). Элементы можно помещать на вершину стека и удалять с вершины, но не из середины или со дна. Библиотека STL реализует стек как контейнер-адаптер. Для объявления переменной типа stack требуется другой класс-контейнер. Таким контейнером может быть вектор, двусторонняя очередь или список. Стек использует функции инкапсулированного контейнера для выполнения своих функций.