C++ массивы типа vector

Думаю с массивами, которые были и в языке С, вы знакомы. Сегодня мы с вами разберем массивы типа vector. В С++ есть стандартная библиотека vector. Объявить массив можно так vector ИМЯ. Отличия данного массива от массива пришедшего из языка С (ТИП ИМЯ[РАЗМЕР]) в том, что для него не нужно задавать размер. Давайте разберемся с ним на примере.

Запишем в него 21 число:

Как всегда, при работе с массивами используем цикл.

[code]for(int i = 0; i < 21; ++i)
m.push_back(i);[/code]

Узнать размер массива можно ИМЯ.size(). Обращение к элементам массива типа vector, выполняется также, как и к элементам обычных массивов.

[code]for(int i=0; i< m.size(); ++i)
cout << m[i];[/code]

Вот код программы, выводящей числа от 0 до 20.

[code]#include<iostream>
#include<vector>
#include "windows.h"//Для русской кодировки

#define N 21

using namespace std;

int main()
{
//Оформление русской кодировки
SetConsoleCP(1251);
SetConsoleOutputCP(1251);

vector <unsigned short int> m;

for(unsigned short int i = 0; i < N; ++i)
m.push_back(i);

for(unsigned short int i = 0; i < m.size(); ++i)
cout<<m[i]<<‘ ‘;

cout<<endl;

system("pause"); //пауза
return 0;
}
[/code]

Теперь возведем в квадрат все элементы массива.

[code] cout<<endl<<"Квадраты элементов массива: ";

for(unsigned short int i = 0; i < m.size(); ++i){
cout<<m[i]*m[i]<<‘ ‘;}

cout<<endl;[/code]

Пример считывания нескольких строк в вектор. И вывод 2 символа из 2 строки.
[code]#include <iostream>
#include <vector>
#include <string>
#include "windows.h"

using namespace std;

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);

vector<string> s;

string buffer = "";

cout << "Вводите cтроки по окончанию ввода отправьте пустую строку: " << endl;

do {
getline(cin, buffer);
if (buffer.size() > 0) {
s.push_back(buffer);
}
} while (buffer != "");

cout << "Ваши строки в векторе: " << endl;
for (int i = 0; i < s.size(); i++) {
cout << s[i]<< endl;
}

cout <<"Второй символ второй строки: "<< s[1][1];

system("pause");
return 0;
}[/code]
Теперь почему не всегда стоит использовать векторы. Векторы инициализируется немного дольше стандартных массивов. А также, дольше удаляются из памяти.

1 Star2 Stars3 Stars4 Stars5 Stars (3 голосов, средний:5,00 из 5)
Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.
Оставить комментарий