Список вперед в C ++ | Набор 2 (Управление функциями)

Опубликовано: 1 Января, 2022

Список вперед в C ++ | Набор 1 (Введение и важные функции)

Дополнительные функции обсуждаются в этой статье

Некоторые из операций, отличных от вставки и удаления, которые могут использоваться в списках пересылки, следующие:

1. merge () : - Эта функция используется для объединения одного списка пересылки с другим. Если оба списка отсортированы, то возвращаемый результирующий список также сортируется.

2. оператор «=» : - Этот оператор копирует один список пересылки в другой. Копия, сделанная в этом случае, является глубокой копией.

Выход:

Содержимое 2-го списка для пересылки после копирования: 1 2 3 
Содержимое списка пересылки после слияния: 1 1 2 2 3 3 

3. sort () : - Эта функция используется для сортировки списка вперед.

4. unique () : - Эта функция удаляет несколько вхождений числа и возвращает прямой список с уникальными элементами. Список пересылки должен быть отсортирован для успешного выполнения этой функции.

// C++ code to demonstrate the working of
// sort() and unique()
#include<iostream>
#include<forward_list> // for sort() and unique()
using namespace std;
int main()
{
// Initializing 1st forward list
forward_list< int > flist1 = {1, 2, 3, 2, 3, 3, 1};
// Sorting the forward list using sort()
flist1.sort();
// Displaying sorted forward list
cout << "The contents of forward list after "
"sorting are : " ;
for ( int &x : flist1)
cout << x << " " ;
cout << endl;
// Use of unique() to remove repeated occurrences
flist1.unique();
// Displaying forward list after using unique()
cout << "The contents of forward list after "
"unique operation are : " ;
for ( int &x : flist1)
cout << x << " " ;
cout << endl;
return 0;
}

Выход:

Содержимое прямого списка после сортировки: 1 1 2 2 3 3 3 
Содержимое списка пересылки после уникальной операции: 1 2 3 

5. reverse () : - Эта функция используется для реверсирования списка вперед.

6. swap () : - Эта функция меняет местами содержимое одного списка пересылки на другой.

// C++ code to demonstrate the working of
// reverse() and swap()
#include<iostream>
#include<forward_list> // for reverse() and swap()
using namespace std;
int main()
{
// Initializing 1st forward list
forward_list< int > flist1 = {1, 2, 3,};
// Initializing 2nd forward list
forward_list< int > flist2 = {4, 5, 6};
// Using reverse() to reverse 1st forward list
flist1.reverse();
// Displaying reversed forward list
cout << "The contents of forward list after"
" reversing are : " ;
for ( int &x : flist1)
cout << x << " " ;
cout << endl << endl;
// Displaying forward list before swapping
cout << "The contents of 1st forward list "
"before swapping are : " ;
for ( int &x : flist1)
cout << x << " " ;
cout << endl;
cout << "The contents of 2nd forward list "
"before swapping are : " ;
for ( int &x : flist2)
cout << x << " " ;
cout << endl;
// Use of swap() to swap the list
flist1.swap(flist2);
// Displaying forward list after swapping
cout << "The contents of 1st forward list "
"after swapping are : " ;
for ( int &x : flist1)
cout << x << " " ;
cout << endl;
cout << "The contents of 2nd forward list "
"after swapping are : " ;
for ( int &x : flist2)
cout << x << " " ;
cout << endl;
return 0;
}

Выход:

Содержимое списка вперед после реверса: 3 2 1 

Содержимое 1-го списка вперед перед заменой: 3 2 1 
Содержимое 2-го списка вперед перед заменой: 4 5 6 
Содержимое 1-го списка вперед после замены: 4 5 6 
Содержимое второго списка переадресации после замены: 3 2 1 

7. clear () : - Эта функция очищает содержимое списка пересылки. После этой функции список пересылки становится пустым.

8. empty () : - Эта функция возвращает истину, если список пуст, в противном случае - ложь.

// C++ code to demonstrate the working of
// clear() and empty()
#include<iostream>
#include<forward_list> // for clear() and empty()
using namespace std;
int main()
{
// Initializing forward list
forward_list< int > flist1 = {1, 2, 3,};
// Displaying forward list before clearing
cout << "The contents of forward list are : " ;
for ( int &x : flist1)
cout << x << " " ;
cout << endl;
// Using clear() to clear the forward list
flist1.clear();
// Displaying list after clear() performed
cout << "The contents of forward list after "
<< "clearing are : " ;
for ( int &x : flist1)
cout << x << " " ;
cout << endl;
// Checking if list is empty
flist1.empty() ? cout << "Forward list is empty" :
cout << "Forward list is not empty" ;
return 0;
}

Выход:

Содержимое списка для пересылки: 1 2 3 
Содержимое списка пересылки после очистки: 
Список переадресации пуст



Последние статьи в forward_list

Автором этой статьи является Манджит Сингх. Если вам нравится GeeksforGeeks и вы хотите внести свой вклад, вы также можете написать статью с помощью метода влиятельности. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.

Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .
C++ C