front_inserter из iterator: каждый раз вставляет элемент в начало list.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpItFI 55 of 696 menu
◀ ▶

Вставка в начало через итератор в C++

Итератор вставки бывает не только для конца.

Вставку в начало делает front_inserter из iterator: каждый раз вставляет элемент в начало list. Для vector такой прием неудобен: каждая вставка в начало сдвигает весь массив.

Подключите list и algorithm. Запишем список-источник, пустой список-приемник и скопируем значения в начало:

std::list<int> src = {1, 2, 3}; std::list<int> dst; std::copy(src.begin(), src.end(), std::front_inserter(dst)); std::cout << dst.front() << "\n";

На первом месте оказывается 3: элементы лежат в обратном порядке относительно обхода источника. Для очереди с частыми вставками вперед список подходит лучше вектора.

Скопируйте два целых из маленького списка в пустой список так, чтобы при обходе сначала шло большее число. Выведите первый элемент приемника.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить