/ Тестирование функции uniqueO
Автор admin
Понедельник, 8 июня 2009 11:32
/ Тестирование функции uniqueO контейнера list #i nclude #i nclude #i nclude
using namespace std: int a[] = { 1. 3. 1. 4. 1. 5. 1. 6. 1 }: const int asz = sizeof a / sizeof *a; int mainO { // Для вывода: ostream_iterator out(cout. ” “): list li(a. a + asz); li .uniqueO: // Ошибка! Дубликаты остаются в контейнере: copyd i .beginO. li.endO. out): cout « endl; // Список необходимо предварительно отсортировать: li.sortO: copyd i .beginO. li.endO. out): cout « endl: // Теперь функция uniqueO работает правильно: li.unique(): copyd i .beginO. li.endO, out): cout « endl: } III:- Использованный в этом примере конструктор list получает начальный и конечный итераторы из другого контейнера и копирует все элементы из заданного интервала. В данном случае «контейнером» является простой массив, а «итераторами» — указатели на элементы этого массива, но благодаря архитектуре STL конструктор list работает с массивами так же легко, как с любыми другими контейнерами. 366 Глава 7 • Обобщенные контейнеры Функция unique() удаляет только смежные дубликаты, поэтому перед ее вызо вом обычн
Комментарии закрыты.
Последние комментарии