Vector STL C++ предоставляет динамическое распределение памяти и автоматическое увеличение размера, когда это необходимо. Он обеспечивает быстрый доступ к элементам и удобное управление данными.
Vector в STL C++ является одним из наиболее полезных контейнеров и широко используется в программировании по следующим причинам:
1. Динамическое управление памятью: Vector автоматически управляет выделением и освобождением памяти для хранения элементов. При добавлении элементов в вектор, он автоматически увеличивает свой размер и перераспределяет память, если это необходимо.
2. Быстрый доступ к элементам: Элементы в векторе хранятся последовательно в памяти, что обеспечивает эффективный случайный доступ к элементам по индексу.
3. Удобство использования: Vector предоставляет удобные методы для добавления, удаления и доступа к элементам. Его интерфейс понятен и легок для работы.
4. Итераторы: Vector поддерживает итераторы, что позволяет легко перебирать элементы в циклах или применять алгоритмы STL к его содержимому.
5. Гибкость: Vector позволяет хранить элементы одного типа, но этот тип может быть любым пользовательским классом или структурой данных.
6. Алгоритмы STL: Vector легко комбинируется с другими контейнерами и алгоритмами STL для выполнения различных операций над данными.
Использование vector в C++ позволяет удобно и эффективно работать с коллекциями данных, обеспечивая высокую производительность и удобство программирования.
#include <vector> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL,"Rus"); std::vector<int> first; first.assign (4,50); std::vector<int> second (3,40); second.swap(first); for (std::vector<int>::iterator it = second.begin() ; it != second.end(); ++it) { std::cout << ' ' << *it; } cout <<endl; std::vector<int> my_vector; std::vector<int>::iterator it; it = my_vector.begin(); it = my_vector.insert (it , 70); my_vector.push_back(47); my_vector.pop_back(); my_vector.push_back(10); my_vector.push_back(15); my_vector.push_back(20); my_vector.push_back(7); my_vector.erase(my_vector.begin()+2); // удаление 3 элемента cout<<"Количество элементов "<<my_vector.size()<<endl; for (std::vector<int>::iterator it = my_vector.begin() ; it != my_vector.end(); ++it) { std::cout << ' ' << *it; } cout <<endl; for (std::vector<int>::reverse_iterator rit = my_vector.rbegin() ; rit != my_vector.rend(); ++rit) { std::cout << ' ' << *rit; } cout <<endl; my_vector.clear(); if (my_vector.empty()) { cout<<"Empty"<<endl; } system("pause"); return 0; }
Результат работы программы Vector на C++:
Пример использования вектора в упрощенном виде с типом auto.
#include <iostream> #include <vector> using namespace std; int main() { vector<int> MyVector={1,2,3,5}; for(auto Iterator=MyVector.begin();Iterator<MyVector.end(); Iterator++) { cout<<*Iterator<<" "; } return 0; }
Вывод программы
1,2,3,5