Вектори в c з прикладами

Всім привіт! До цього дня ми використовували чисті масиви. Чисті - це значить прості масиви, які не мають у себе в багажі різних функцій. У цьому уроці ми пройдемо нечисті масиви - вектори.
Швидкий перехід по статті:
Що таке вектор (vector)
Вектор - це структура даних, яка вже є моделлю динамічного масиву.
Давайте згадаємо про те, що для створення динамічного масиву (вручну) нам потрібно користуватися конструктором new і до того ж покажчиками. Але у випадку з векторами всього цього робити не потрібно.
Взагалі, за стандартом користуватися динамічним масивом через конструктор new - не є правильно. Так як в комп'ютері можуть відбуватися різні витоку пам'яті.
Як створити вектор (vector) в C ++
Спочатку для створення вектора нам знадобиться підключити бібліотеку -
Process returned 0 (0 × 0) execution time. 0.010 s
Press any key to continue.
Як бачимо, в першому випадку ми вивели три нуля, а в другому: 17, 0, 0.
Все тому, що при використанні першого способу все осередки автоматично заповнилися нулями.
Тому, коли ми вивели другий вектор, в ньому вже перебували якісь рандомний числа - 17, 0, 0. Зазвичай вони набагато більше. Можете до речі спробувати створити змінну і вивести її значення.
Потрібно пам'ятати! При використанні другого способу є певний плюс - за часом. Так як для першого способу компілятор витрачає час, щоб заповнити всі осередки нулями.
Як порівняти два вектора
Якщо в середині програми нам знадобитися порівняти два масиви, ми, звичайно, використовуємо цикл for і по черзі перевіримо всі елементи.
Вектор знову на крок попереду! Щоб нам порівняти два вектора, потрібно застосувати лише оператор розгалуження if.
- це значення елементів першого масиву (першого шару). Такі блоки значень повинні розділятися комами.
Методи для векторів:
Зараз ми розберемо деякі методи, які часто використовуються разом з векторами. Метод - це функція, яка відноситься до певного STL контейнеру.
У нашому випадку цим STL контейнером є вектор. Якщо ви далі збираєтеся оперувати векторами - краще все перераховані функції запам'ятати.
1) size () і empty ()
Якщо нам потрібно дізнатися довжину вектора, знадобиться функція - size (). Ця функція практично завжди використовується разом з циклом for.
Press any key to continue.
На ілюстраціях нижче показано, як vec_string змінювався в програмі:




Ви повинні знати! Якщо ви хочете, щоб ваша програма працювала як можна швидше - вам потрібно додавати елементи саме в кінець.
Так як при додаванні елемента в початок, за допомогою тієї ж функції insert (). в векторі відбувається зміщення всіх осередків вправо. До того ж, зміщення йде по одній клітинці, а це у нас лінійний пошук. який працює, м'яко кажучи, не швидко. При цьому, чим більше у нас буде вектор, тим повільніше буде відбуватися додавання елементів!
4) front () і back ()
Для того, щоб ми могли переглядати першу і останню осередки у нас є функції: front () і back ().