Memory numeric queue set stack utility vector

10.2 Послідовні контейнери

Вектори (vector), двосторонні черги (deque) і списки (list) підтримують різні набори операцій, серед яких є співпадаючі операції. Вони можуть бути реалізовані з різною ефективністю:

 

Операція Метод vector deque list
Вставка в початок push_front - + +
Видалення з початку pop_front - + +
Вставка в конец push_back + + +
Видалення з кінця рор_bаск + + +
Вставка в довільне місце Insert (+) (+) +
Видалення з довільного місця Erase (+) (+) +
Довільний доступ до елементу [ ], at + + -

 

Знак (+) означає, що відповідна операція реалізується за постійний час, не залежний від кількості елементів n в контейнері. Знак (+) означає, що відповідна операція реалізується за час, пропорційний n. Для малих n час операцій, позначених (+), може перевищувати час операцій, позначених (+), але для великої кількості елементів останні можуть виявитися дуже дорогими. Як видно з таблиці, такими операціями є вставка і видалення довільних елементів черги і вектора, оскільки при цьому всі наступні елементи потрібно переписувати на нові місця.

Отже, вектор – це структура, що ефективно реалізовує довільний доступ до елементів, додавання в кінець та видалення з кінця. Двостороння черга ефективно реалізує довільний доступ до елементів, додавання в обидва кінці і видалення з обох кінців. Список ефективно реалізує вставку та видалення елементів в довільне місце, але не має довільного доступу до своїх елементів.

Приклад роботи з вектором. У файлі знаходиться довільна кількість цілих чисел. Програма зчитує їх у вектор і виводить на екран в тому ж порядку.

#include <iostream>

#include <fstream>

#include <vector>

using namespace std;

 








Дата добавления: 2014-12-26; просмотров: 629;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.