Lấy kích thước của unordered_map trong C++ (size) | Laptrinhcanban.com

Lấy kích thước của unordered_map trong C++ (size)

Hướng dẫn cách lấy kích thước unordered_map trong C++. Bạn sẽ học được cách dùng hàm size để lấy kích thước (số phần tử) trong unordered_map C++ sau bài học này.

Lấy kích thước unordered_map trong C++ bằng hàm size

Hàm size là một hàm thành viên trong class std:unordered_map, có tác dụng lấy kích thước (số phần tử) có trong 1 unordered_map C++.

Chúng ta sử dụng hàm size để lấy kích thước unordered_map trong C++ với cú pháp như sau:

mp.size();

Trong đó mp là unordered_map cần lấy kích thước (số phần tử) chứa trong nó.

Ví dụ cụ thể, chúng ta lấy kích thước unordered_map trong C++ bằng hàm size như sau:

#include <iostream>
#include <unordered_map>
using namespace std;

int main ()
{
unordered_map<string,int> mp = {
{ "alpha", 10 },
{ "beta", 20 },
{ "gamma", 30 } };

cout<< mp.size() <<endl;
return 0;
}
//3

Lưu ý, số phần tử hay kích thước của unordered_map ở đây được tính sau khi các phần tử được kiểm tra key có trùng lặp và sắp xếp trong unordered_map, chứ không phải là số phần tử mà chúng ta đã dùng khi khai báo unordered_map.

Ví dụ, nếu khi khai báo unordered_map mà tồn tại các phần tử trùng lặp key thì số phần tử được đếm bởi hàm size() sẽ khác với số phần tử chỉ định trong khai báo như sau:

#include <iostream>
#include <unordered_map>
using namespace std;

int main ()
{
unordered_map<string,int> mp = {
{ "alpha", 20 },
{ "beta", 20 },
{ "alpha", 10 },
{ "gamma", 30 },
{ "alpha", 10 },
};
for (auto x: mp) {
cout << x.first << ":" << x.second << endl;
}
cout<< mp.size() <<endl;

return 0;
}

Kết quả:

beta:20
gamma:30
alpha:20
3

Có thể thấy mặc dù có 5 phần tử được dùng trong khai báo unordered_map nhưng chỉ có 3 phần tử với key không trùng lặp được lưu trong unordered_map, dẫn đến kết quả của hàm size() bằng 3 mà thôi.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách lấy kích thước của unordered_map trong C++ rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về C++ trong các bài học tiếp theo.

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.