В этом уроке вы узнаете о C ++ STL-листе пересылки, т. Е. Std :: forward_list и операциях, применяемых к нему методах
Форвардные списки попадают под контейнеры последовательности. Forward List реализует односвязный список. Операции вставки, удаления и перемещения выполняются быстрее, чем другие контейнеры. Каждый элемент списка пересылки содержит адрес следующего элемента. Основным недостатком списка пересылок является невозможность повторения в обратном направлении, а к его отдельным элементам нельзя получить прямой доступ. Когда односвязный список предпочтительнее двойного связанного списка, прямой список лучше, чем список. Поскольку список ведет себя как двойной связанный список. Примером того, где мы можем использовать прямой список, является цепочка в хешировании, представление списка смежности графа и т. Д.
Также читайте: C ++ STL List Container - std :: list
C ++ STL Forward List
Теперь давайте посмотрим, какие операции мы можем применить в форвардном списке:
assign (): так же, как метод вставки, assign () будет хранить значения. Используя метод assign (), мы можем вставить элементы двумя способами.
Во-первых, мы можем вставить, какие элементы нам нужны. Второй способ - мы можем вставить один элемент «n» количество раз. Но при втором способе назначения список будет заменен новыми значениями. Старые значения списка будут удалены.
Попробуйте этот код ниже для большего понимания:
Выход
10 20 30
99 99 99
99 99 99
Вставить функции
push_front (): эта функция используется для вставки нового значения в начало списка. Значение из этой функции копируется по адресу, указанному ранее, в текущий первый элемент контейнера.
emplace_front (): эта функция также используется для вставки элементов в начале контейнера, но нет операции копирования. Здесь элемент непосредственно вставляется по адресу, предшествующему первому элементу.
insert_after (): используя эту функцию, мы можем вставить элемент в любую позицию списка пересылки. Аргументы, которые мы передаем этой функции, будут скопированы в определенное место.
emplace_after (): это также работает как функция insert_after (). Но элемент напрямую вставляется без операции копирования.
Пример программы, чтобы показать выше функции вставки:
Выход
4 5 10 20 30
4 99 0 5 10 20 30
4 99 0 5 10 20 30
Удалить функции
pop_front (): эта функция удаляет первый элемент списка пересылки.
erase_after (): эта функция используется для удаления элемента в определенной позиции списка пересылки.
Удалить(): эта функция удаляет определенный элемент, который мы передаем в качестве аргумента этой функции
remove_if (): эта функция удаляет элемент, который мы указали, только условие, которое мы даем, является истинным.
Пример программы для показа выше стирания функций списка пересылки:
Выход
20 40 50
20
20
Еще несколько функций:
splice_after (): эта функция используется для переноса одного элемента списка пересылки в другой список пересылки. Он размещает элементы только после указанной позиции.
задний ход(): эта функция переворачивает все элементы списка пересылки.
Сортировать(): эта функция сортирует элементы в списке пересылки.
Пример программы для объяснения вышеуказанных функций:
Выход
после добавления списка пересылки1 в список пересылки2
30 20 40 60 50 70
после перестановки списка пересылки2
70 50 60 40 20 30
после сортировки элементов
20 30 40 50 60 70
30 20 40 60 50 70
после перестановки списка пересылки2
70 50 60 40 20 30
после сортировки элементов
20 30 40 50 60 70
Прокомментируйте ниже, если у вас есть вопросы или вы нашли какую-либо информацию неверной в вышеприведенном руководстве для C ++ STL forward list.
Комментариев нет:
Отправить комментарий