Computer >> Máy Tính >  >> Lập trình >> C ++

Đặt so với Bản đồ trong C ++ STL

Tập hợp là một kiểu dữ liệu trừu tượng trong đó mỗi phần tử phải là duy nhất vì giá trị của phần tử xác định nó. Không thể sửa đổi giá trị của phần tử sau khi nó được thêm vào tập hợp, nhưng có thể xóa và thêm giá trị đã sửa đổi của phần tử đó.

Bản đồ là một vùng chứa liên kết lưu trữ các phần tử theo kiểu được ánh xạ. Mỗi phần tử có một giá trị khóa và một giá trị được ánh xạ. Không có hai giá trị được ánh xạ nào có thể có các giá trị khóa giống nhau.

Vì vậy, rõ ràng ở trên rằng, tập hợp chứa khóa duy nhất và bản đồ chứa một giá trị có khóa, cả hai đều phải có giá trị duy nhất và được sắp xếp.

Đối với các phần tử không có thứ tự và không được sắp xếp, có unsrdered_set / unardered_map, multiset / multimap.

Mã mẫu

#include<iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
   set<int> s; //initializing a empty set container
   set<int>::iterator it; //Initializing a set container as iterator
   s.insert(7); //inserting elements in the set container s
   s.insert(6);
   s.insert(1);
   s.insert(4);
   s.insert(2);
   s.insert(9);
   s.insert(10);
   cout << "Elements are in set:\n";
   for ( auto it : s)
      cout << it << " "; //printing elements of the set container
   return 0;
}

Đầu ra

1 2 4 6 7 9 10

Mã mẫu

#include<iostream>
#include <bits/stdc++.h>
using namespace std;

int main()
{
   map<char, int> m;                     //initialize a map
   map<char, int>::iterator iter;       //initializing a map as iterator
   m.insert (pair<char, int>('a', 10)); //inserting values to the map
   m.insert (pair<char, int>('b', 20));

   cout << "Elements in map:\n";
   for (iter=m.begin();iter!=m.end();iter++)
   cout << "[ " << iter->first << ", "<< iter->second << "]\n"; //printing the values of the map
   return 0;
}

Đầu ra

Elements in map: 
[ a, 10] 
[ b, 20]