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

hàm xóa bản đồ () 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 ::delete () 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 giữ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 nội bộ 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 đồ ::xóa () là gì?

Bản đồ ::delete () là một hàm nằm trong

Chức năng này giảm kích thước của vùng chứa bản đồ một cách hiệu quả theo số lượng phần tử bị xóa khỏi vùng chứa.

Cú pháp

map_name.erase(iterator pos);
map_name.erase(key_type &k);
map_name.erase(iterator start, iterator end);

Tham số

Hàm này chấp nhận những điều sau

tham số

  • vị trí - Một trình lặp có thể được coi là vị trí của phần tử sẽ bị xóa.
  • k - Đây là giá trị chính mà chúng tôi muốn xóa khỏi vùng chứa bản đồ.
  • bắt đầu, kết thúc - Trình lặp ‘bắt đầu’ và ‘kết thúc’ được sử dụng để cung cấp vị trí bắt đầu và vị trí kết thúc của dải ô mà chúng tôi muốn xóa khỏi vùng chứa deque.

Giá trị trả về

Nếu xóa thành công, hàm trả về 1 khác 0.

Ví dụ

Đầu vào

map<char, int> newmap;
newmap[‘a’]
= 1;
newmap[‘b’] = 2;
newmap.erase(b);

Đầu ra

a

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.emplace(3, 50);
   TP_Map.emplace(2, 30);
   TP_Map.emplace(1, 10);
   TP_Map.emplace(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;
   }
   //to erase the map values
   TP_Map.erase(1);
   TP_Map.erase(2);
   cout<<"\n\nAfter erasing the element: \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
After erasing the element:
MAP_KEY    MAP_ELEMENT
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});
   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;
   }
   //to erase the map values
   auto var = TP_Map.find(1);
   TP_Map.erase(var);
   auto var_1 = TP_Map.find(2);
   TP_Map.erase(var_1);
   cout<<"\n\nAfter erasing the element: \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
After erasing the element:
MAP_KEY    MAP_ELEMENT
3             50
4             70