erase_after убирает узел, следующий за переданным итератором. Для первого элемента снова используют before_begin.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpLsEA 165 of 696 menu
◀ ▶

Удаление после позиции в forward_list в C++

Метод erase_after убирает узел, следующий за переданным итератором.

Для первого элемента снова используют before_begin: после этой позиции виден первый узел цепочки. Связи перестраиваются без сдвига массива.

Запишем три числа, сотрем узел после первого и выведем оставшуюся длину через подсчет обходом:

std::forward_list<int> nums = {10, 20, 30}; auto it = nums.before_begin(); nums.erase_after(it); int count = 0; for (int x : nums) { ++count; } std::cout << count << "\n";

Удалите второй узел односвязного списка строк, указав позицию перед ним, и напечатайте первое оставшееся слово.

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