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

map insert () trong C ++ STL

Trong bài viết này, chúng ta sẽ thảo luận về cách làm việc, cú pháp và các ví dụ của hàm map ::insert () trong C ++ STL.

Bản đồ trong C ++ STL là gì?

Bản đồ là vùng chứa liên kết, tạo điều kiện để lưu trữ các phần tử được hình thành bởi sự kết hợp của giá trị khóa và giá trị được ánh xạ theo một thứ tự cụ thể. Trong vùng chứa bản đồ, dữ liệu luôn được sắp xếp bên trong với sự trợ giúp của các khóa liên quan. Các giá trị trong vùng chứa bản đồ được truy cập bằng các khóa duy nhất của nó.

Bản đồ ::insert () là gì?

Hàm map ::insert () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề . insert () được sử dụng để chèn các giá trị mới vào vùng chứa bản đồ và tăng kích thước của vùng chứa theo số lượng phần tử được chèn.

Vì các khóa trong vùng chứa bản đồ là duy nhất, các thao tác chèn sẽ kiểm tra xem mỗi phần tử sẽ được chèn có một khóa đã tồn tại trong vùng chứa hay không, nếu có thì phần tử đó chưa được chèn.

Ngoài ra, vùng chứa bản đồ duy trì tất cả các yếu tố của chúng thông qua khóa tương ứng của chúng theo thứ tự tăng dần. Vì vậy, bất cứ khi nào chúng ta chèn một phần tử, nó sẽ đi đến vị trí tương ứng theo khóa của nó.

Cú pháp

1. Map_name.insert({key& k, value_type& val});
or
2. Map_name.insert(iterator& it, {key& k, value_type& val});
or
3. Map_name.insert(iterator& position1, iterator& position2);

Tham số

Hàm này chấp nhận tham số sau

  • k - Đây là khóa được liên kết với phần tử. Hàm kiểm tra xem khóa đã có trong vùng chứa hay chưa thì nó sẽ không chèn phần tử vào.

  • val - Giá trị sẽ được chèn vào.

  • - Loại giá trị của trình lặp được sử dụng để cung cấp vị trí mà chúng ta muốn phần tử được chèn vào.

  • position1, position2 - Vị trí1 là vị trí bắt đầu và vị trí 2 là vị trí kết thúc khi chúng ta muốn chèn chuỗi phần tử, chúng ta có thể sử dụng dải ô gồm nhiều phần tử mà chúng tôi muốn chèn.

Giá trị trả về

Hàm này trả về một trình lặp cho phần tử mới được chèn vào vùng chứa bản đồ.

Ví dụ

Đầu vào

map<char, int> newmap;
newmap[‘a’] = 1;
newmap[‘b’] = 2;
newmap[‘c’] = 3;
newmap.insert({d, 50});

Đầu ra

a:1
b:2
c:3
d:50

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.insert({3, 50});
   TP_Map.insert({2, 30});
   TP_Map.insert({1, 10});
   TP_Map.insert({4, 70});
   cout<<"TP Map is : \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.begin(); i!= TP_Map.end(); i++) {
      cout << i->first << "\t" << i->second << endl;
   }
   return 0;
}

Đầu ra

TP Map is:
MAP_KEY    MAP_ELEMENT
1          10
2          30
3          50
4          70

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.insert({3, 50});
   TP_Map.insert({2, 30});
   TP_Map.insert({1, 10});
   TP_Map.insert({4, 70});
   auto i = TP_Map.find(4);
   TP_Map.insert(i, { 5, 80 });
   cout<<"TP Map is : \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.begin(); i!= TP_Map.end(); i++) {
      cout << i->first << "\t" << i->second << endl;
   }
   return 0;
}

Đầu ra

TP Map is:
MAP_KEY    MAP_ELEMENT
1             10
2             30
3             50
4             70
5             80