C/C++
Для чего нужен Push_Back() в C++
Что это такое, Как использовать? Не нужен короткий ответ, Я так не пойму ничего, в инете искал, не понял там ничего, может кто тут обьяснит, (Николаю Веселухе привет и большое спасибо).
Паш бэк, чтобы был "Ай'л би бэк" ))
Втолкнуть элемент в конец контейнера.
vector<int> box;
box.push_back(6);
box.push_back(7);
box.push_back(8);
box.push_back(9);
for (int i = 1; i <= 5; ++i) box.push_back(i);
for (auto x : box) cout << x << ' ';
puts("");
vector<int> box;
box.push_back(6);
box.push_back(7);
box.push_back(8);
box.push_back(9);
for (int i = 1; i <= 5; ++i) box.push_back(i);
for (auto x : box) cout << x << ' ';
puts("");
Игорь Клинчев
Мне кажется я вас люблю =)
функция push_back() — добавляет элемент в стек.
--
Стек - структура данных,
по принципу - первый вошел - последний вышел,
ну короче - для временного хранения данных.
--
Стек - структура данных,
по принципу - первый вошел - последний вышел,
ну короче - для временного хранения данных.
Для работы с векторами, например.
Игорь Клинчев
Сказал же что короткий ответ не нужен
Push_back дословно
1. увеличивает размер массива (контейнера) на 1
2. записывает по последнему индексу полученное им значение.
Внутри контейнера это довольно не очевидная по сложности процедура.
Так как вектор скрывает реальный размер массива, который может быть больше чем выдает size(). В большинстве случаев он только меняет размер переменной size внутри, ограничивая зону итерации. И лишь иногда действительно увеличивает массив. Но не на 1, а с запасом, который расчитывается эвристически. Создает новый массив сразу на энное количество элементов больше старого, переписывает в него старый массив, увеличивает переменную size на 1, а real_size на N. Записывает в size-1 новый элемент. Старый массив удаляет.
В некоторых случаях данная процедура довольно затратна по времени, и приходится вмешиваться в алгоритм, например заранее задавая максимальный размер массива. Тогда вектор сразу создаст его, и не будет тратить время на пресоздания новых массивов.
1. увеличивает размер массива (контейнера) на 1
2. записывает по последнему индексу полученное им значение.
Внутри контейнера это довольно не очевидная по сложности процедура.
Так как вектор скрывает реальный размер массива, который может быть больше чем выдает size(). В большинстве случаев он только меняет размер переменной size внутри, ограничивая зону итерации. И лишь иногда действительно увеличивает массив. Но не на 1, а с запасом, который расчитывается эвристически. Создает новый массив сразу на энное количество элементов больше старого, переписывает в него старый массив, увеличивает переменную size на 1, а real_size на N. Записывает в size-1 новый элемент. Старый массив удаляет.
В некоторых случаях данная процедура довольно затратна по времени, и приходится вмешиваться в алгоритм, например заранее задавая максимальный размер массива. Тогда вектор сразу создаст его, и не будет тратить время на пресоздания новых массивов.
Похожие вопросы
- Нужен готовый код по C++ рабочий без ошибок C++
- Нужны готовые ответ на C++
- Нужен готовый код по C++
- Нужен готовый ответ по C++
- Нужен готовый ответ на C++
- Задача по c++ на векторы. Часть программы написана. Нужны правки.
- Нужна помощь с выполнением заданий в C++
- Нужна помощь при решении задачи в c++
- Знатоки C++ и математики. Нужна ваша помощь.
- C++. Для чего нужен return?