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 требуется другой класс-контейнер. Таким контейнером может быть вектор, двусторонняя очередь или список. Стек использует функции инкапсулированного контейнера для выполнения своих функций.