Разница между std :: set и std :: vector в C ++ STL
Векторы: векторы - это контейнеры, похожие на динамические массивы, с возможностью изменения размера при вставке или удалении нового элемента. Это шаблон стандартной библиотеки шаблонов или STL, который обеспечивает большую гибкость программы. Элементы векторов помещаются в непрерывное хранилище и просматриваются с помощью итераторов.
Примеры:
вектор <int> v; v.push_back (1); v.push_back (2); v.clear ();
Ниже представлена реализация векторов на C ++:
C ++
// C++ program to demonstrate the // working of vector in cpp #include <bits/stdc++.h> using namespace std; // Driver Code int main() { vector< int > v; // Inserting elements in vector v.push_back(11); v.push_back(6); v.push_back(12); v.push_back(0); v.push_back(0); // Elements are stored in the // order of insertion with the // duplicate element cout << "Elements in vector are:
" ; for ( auto it : v) { cout << it << " " ; } return 0; } |
Элементами вектора являются: 11 6 12 0 0
Set : Set также является одним из шаблонов стандартной библиотеки шаблонов или STL . Это контейнер уникальных элементов, значение которых не может быть изменено после добавления в набор, но может быть удалено или вставлено. Элементы наборов всегда хранятся в отсортированном виде.
Примеры:
установить <int> s; s.insert (1); s.insert (12); int key = 1; s.erase (ключ);
Ниже представлена реализация наборов на C ++:
C ++
// C++ program to demonstrate the // working of set in c++ #include <bits/stdc++.h> using namespace std; // Driver Code int main() { set< int > s; // Insert elements into the set s.insert(11); s.insert(6); s.insert(12); s.insert(0); // Duplicate elements s.insert(0); cout << "Elements in set:
" ; // The inserted elements get sorted // Print the elements of the set for ( auto it : s) { cout << it << " " ; } return 0; } |
Элементы в наборе: 0 6 11 12
Табличная разница между вектором и набором : Вектор Установленный Элементы вектора не отсортированы. Элементы наборов всегда отсортированы. Он может содержать повторяющиеся элементы. Он содержит только уникальные элементы. Вектор неупорядочен. Комплект заказан. Сложность вставки нового элемента составляет O (1) . Сложность по времени для вставки нового элемента составляет O (log N) . Вектор быстрее вставляет и удаляет элементы в конце контейнера. Set быстрее вставляет и удаляет элементы в середине контейнера.