vector :: front () и vector :: back () в C ++ STL

Опубликовано: 31 Декабря, 2021


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

вектор :: фронт ()

Эта функция может использоваться для выборки первого элемента векторного контейнера.

Синтаксис:

имя вектора .front ()
Параметры:
Значение не требуется для передачи в качестве параметра.
Возврат:
Прямая ссылка на первый элемент векторного контейнера.

Примеры:

Ввод: myvector = 1, 2, 3
          myvector.front ();
Выход: 1

Ввод: myvector = 3, 4, 1, 7, 3
          myvector.front ();
Выход: 3

Ошибки и исключения

1. Если контейнер векторов пуст, это вызывает неопределенное поведение.
2. У него нет гарантии исключения исключения, если вектор не пуст.

// CPP program to illustrate
// Implementation of front() function
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector< int > myvector;
myvector.push_back(3);
myvector.push_back(4);
myvector.push_back(1);
myvector.push_back(7);
myvector.push_back(3);
// Vector becomes 3, 4, 1, 7, 3
cout << myvector.front();
return 0;
}

Выход:

3
вектор :: назад ()

Эта функция может использоваться для получения последнего элемента векторного контейнера.

Синтаксис:

vectorname .back ()
Параметры:
Значение не требуется для передачи в качестве параметра.
Возврат:
Прямая ссылка на последний элемент векторного контейнера.

Примеры:

Ввод: myvector = 1, 2, 3
          myvector.back ();
Выход: 3

Ввод: myvector = 3, 4, 1, 7, 2
          myvector.back ();
Выход: 2

Ошибки и исключения

1. Если контейнер векторов пуст, это вызывает неопределенное поведение.
2. У него нет гарантии исключения исключения, если вектор не пуст.

// CPP program to illustrate
// Implementation of back() function
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector< int > myvector;
myvector.push_back(3);
myvector.push_back(4);
myvector.push_back(1);
myvector.push_back(7);
myvector.push_back(2);
// Vector becomes 3, 4, 1, 7, 2
cout << myvector.back();
return 0;
}

Выход:

2

Разница между функциями front (), back () и begin, end ()

Функции begin () и end () возвращают итератор (например, указатель), инициализированный первым или последним элементом контейнера, который можно использовать для итерации по коллекции, а функции front () и back () просто возвращают ссылку к первому или последнему элементу контейнера.

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

Ввод: 1, 2, 3, 4, 5, 6, 7, 8
Выход: 7
Пояснение - последний элемент = 8, первый элемент = 1, разница = 7

Алгоритм
1. Добавьте числа к вектору с помощью функции push_back ().
2. Сравните первый и последний элемент.
3. Если первый элемент больше, вычтите из него последний элемент и распечатайте его.
4. Иначе вычтите первый элемент из последнего и распечатайте его.

// CPP program to illustrate
// application Of front() and back() function
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector< int > myvector;
myvector.push_back(8);
myvector.push_back(7);
myvector.push_back(6);
myvector.push_back(5);
myvector.push_back(4);
myvector.push_back(3);
myvector.push_back(2);
myvector.push_back(1);
// Vectro becomes 1, 2, 3, 4, 5, 6, 7, 8
if (myvector.front() > myvector.back()) {
cout << myvector.front() - myvector.back();
}
else if (myvector.front() < myvector.back()) {
cout << myvector.back() - myvector.front();
}
else
cout << "0" ;
}

Выход:

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