Thư viện C ++ - <map>
Giới thiệu bản đồ
Bản đồ là từ điển giống như cấu trúc dữ liệu. Nó là một chuỗi cặp (khóa, giá trị), trong đó chỉ có giá trị duy nhất được liên kết với mỗi khóa duy nhất. Nó thường được gọi là mảng kết hợp .
Trong bản đồ, các giá trị khóa thường được sử dụng để sắp xếp các phần tử. Đối với dữ liệu bản đồ, loại khóa và giá trị có thể khác nhau và nó được biểu diễn dưới dạng
typedef pair<const Key, T> value_type;
Bản đồ thường được triển khai dưới dạng Cây tìm kiếm nhị phân.
Bản đồ có kích thước bằng không cũng có giá trị. Trong trường hợp đó map.begin () và map.end () trỏ đến cùng một vị trí.
Định nghĩa
Dưới đây là định nghĩa của std :: map từ tệp tiêu đề <map>
template < class Key,
class T,
class Compare = less<Key>,
class Alloc = allocator<pair<const Key,T> >
> class map;
Thông số
Key - Loại chìa khóa.
T - Loại giá trị được ánh xạ.
Compare - Một vị từ nhị phân nhận hai khóa phần tử làm đối số và trả về giá trị bool.
Alloc - Loại đối tượng cấp phát.
T có thể được thay thế bằng bất kỳ kiểu dữ liệu nào khác bao gồm cả kiểu do người dùng xác định.
Các loại thành viên
Các kiểu thành viên sau có thể được sử dụng làm tham số hoặc kiểu trả về bởi các hàm thành viên.
Sr.No. | Các loại thành viên | Định nghĩa |
---|---|---|
1 | loại chính | Khóa (Tham số đầu tiên của mẫu) |
2 | mapped_type | T (Tham số thứ hai của mẫu) |
3 | key_compare | So sánh (Tham số thứ ba của mẫu) |
4 | phân bổ_type | Alloc (Tham số thứ tư của mẫu) |
5 | value_type | cặp <const key_type, mapped_type> |
6 | value_compare | Lớp hàm lồng nhau để so sánh các phần tử |
7 | tài liệu tham khảo | Cấp phát_type :: tham chiếu |
số 8 | const_reference | Deliveryator_type :: const_reference |
9 | con trỏ | Deliveryator_type :: pointer |
10 | const_pointer | Cấp phát_type :: const_pointer |
11 | người lặp lại | trình lặp hai chiều thành value_type |
12 | const_iterator | trình lặp hai chiều thành const value_type |
13 | reverse_iterator | trình lặp ngược |
14 | const_reverse_iterator | trình lặp ngược liên tục |
15 | chênh_chung | ptrdiff_t |
16 | size_type | size_t |
Các chức năng từ <map>
Dưới đây là danh sách tất cả các phương thức từ tiêu đề <map>.
Người xây dựng
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | map :: map constructor mặc định Xây dựng một bản đồ trống không có phần tử nào. |
2 | bản đồ :: phương thức tạo phạm vi bản đồ Tạo một bản đồ với nhiều phần tử trong phạm vi từ đầu tiên đến cuối cùng . |
3 | map :: map copy constructor Xây dựng một bản đồ với bản sao của từng yếu tố có trong bản đồ hiện có. |
4 | map :: map move constructor Xây dựng một bản đồ với các nội dung khác bằng cách sử dụng ngữ nghĩa di chuyển. |
5 | map :: map constructor danh sách khởi tạo Xây dựng một bản đồ từ danh sách khởi tạo. |
Kẻ hủy diệt
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | bản đồ :: ~ bản đồ Phá hủy đối tượng bản đồ bằng cách phân bổ bộ nhớ của nó. |
Chức năng thành viên
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | bản đồ :: tại Trả về một tham chiếu đến giá trị được ánh xạ liên kết với khóa k . |
2 | bản đồ :: bắt đầu Trả về một trình lặp tham chiếu đến phần tử đầu tiên của bản đồ. |
3 | bản đồ :: cbegin Trả về một trình lặp hằng số tham chiếu đến phần tử đầu tiên của bản đồ. |
4 | bản đồ :: cend Trả về một trình lặp không đổi trỏ đến phần tử quá khứ-cuối của bản đồ. |
5 | bản đồ :: rõ ràng Phá hủy bản đồ bằng cách xóa tất cả các phần tử và đặt kích thước bản đồ thành 0. |
6 | bản đồ :: đếm Trả về số lượng giá trị được ánh xạ liên kết với khóa k . |
7 | bản đồ :: crbegin Trả về một trình lặp ngược liên tục trỏ đến phần tử cuối cùng của vùng chứa i. |
số 8 | bản đồ :: crend Trả về một biến lặp ngược hằng số trỏ đến phần tử lý thuyết đứng trước phần tử đầu tiên trong vùng chứa i. |
9 | bản đồ :: emplace Mở rộng vùng chứa bằng cách chèn phần tử mới. |
10 | map :: emplace_hint phiên bản gợi ý Chèn một phần tử mới vào bản đồ bằng cách sử dụng gợi ý làm vị trí cho phần tử. |
11 | bản đồ :: trống Kiểm tra xem bản đồ có trống hay không. |
12 | bản đồ :: kết thúc Trả về một trình vòng lặp trỏ đến phần tử quá khứ-cuối trong bản đồ. |
13 | map :: equal_range Trả về phạm vi phần tử phù hợp với khóa cụ thể. |
14 | bản đồ :: xóa phiên bản vị trí Xóa một phần tử của bản đồ khỏi vị trí . |
15 | bản đồ :: xóa phiên bản vị trí Xóa một phần tử của bản đồ khỏi vị trí . |
16 | bản đồ :: phím xóa Loại bỏ giá trị được ánh xạ liên kết với khóa k . |
17 | bản đồ :: xóa phiên bản phạm vi Xóa phạm vi phần tử khỏi bản đồ. |
18 | bản đồ :: xóa phiên bản phạm vi Xóa phạm vi phần tử khỏi bản đồ. |
19 | bản đồ :: tìm Tìm một phần tử được liên kết với khóa k . |
20 | bản đồ :: get_allocator Trả về một trình phân bổ được liên kết với bản đồ. |
21 | bản đồ :: chèn một phần tử Mở rộng vùng chứa bằng cách chèn phần tử mới vào bản đồ. |
22 | bản đồ :: chèn phiên bản gợi ý Mở rộng vùng chứa bằng cách chèn phần tử mới vào bản đồ. |
23 | bản đồ :: chèn phiên bản phạm vi Mở rộng vùng chứa bằng cách chèn các phần tử mới vào bản đồ. |
24 | bản đồ :: chèn gợi ý di chuyển phiên bản Mở rộng bản đồ bằng cách chèn phần tử mới. |
25 | bản đồ :: chèn phiên bản danh sách trình khởi tạo Mở rộng bản đồ bằng cách chèn phần tử mới từ danh sách trình khởi tạo. |
26 | bản đồ :: key_comp Trả về một đối tượng hàm so sánh các phím, đó là một bản sao của các đối số nhà xây dựng của thùng chứa này comp . |
27 | bản đồ :: low_bound Trả về một trình lặp trỏ đến phần tử đầu tiên không nhỏ hơn khóa k . |
28 | bản đồ :: max_size Trả về số lượng phần tử tối đa có thể được giữ bởi bản đồ. |
29 | map :: operator = copy version Gán nội dung mới cho bản đồ bằng cách thay thế các nội dung cũ và sửa đổi kích thước nếu cần. |
30 | map :: operator = di chuyển phiên bản Di chuyển nội dung của bản đồ này sang bản đồ khác và sửa đổi kích thước nếu cần. |
31 | map :: operator = phiên bản danh sách khởi tạo Sao chép các phần tử từ danh sách trình khởi tạo vào bản đồ. |
32 | bản đồ :: operator [] sao chép phiên bản Nếu khóa k khớp với một phần tử trong vùng chứa, thì phương thức trả về một tham chiếu đến phần tử. |
33 | map :: operator [] di chuyển phiên bản Nếu khóa k khớp với một phần tử trong vùng chứa, thì phương thức trả về một tham chiếu đến phần tử. |
34 | bản đồ :: rbegin Trả về một trình lặp ngược trỏ đến phần tử cuối cùng của bản đồ. |
35 | bản đồ :: rend Trả về một trình lặp ngược trỏ đến điểm cuối ngược lại của bản đồ i. |
36 | bản đồ :: kích thước Trả về số phần tử có trong bản đồ. |
37 | bản đồ :: hoán đổi Trao đổi nội dung bản đồ với nội dung bản đồ x. |
38 | bản đồ :: upper_bound Trả về một trình lặp trỏ đến phần tử đầu tiên lớn hơn khóa k . |
39 | map :: value_comp Trả về một đối tượng hàm so sánh các đối tượng kiểu std :: map :: value_type . |
Các chức năng quá tải không phải thành viên
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | toán tử == Kiểm tra xem hai bản đồ có bằng nhau hay không. |
2 | toán tử! = Kiểm tra xem hai bản đồ có bằng nhau hay không. |
3 | toán tử < Kiểm tra xem bản đồ đầu tiên có ít hơn bản đồ khác hay không. |
4 | map :: operator <= Kiểm tra xem bản đồ đầu tiên có nhỏ hơn hoặc bằng bản đồ khác hay không. |
5 | toán tử> Kiểm tra xem bản đồ đầu tiên có lớn hơn bản đồ khác hay không. |
6 | toán tử> = Kiểm tra xem bản đồ đầu tiên có lớn hơn hoặc bằng bản đồ khác hay không. |
7 | hoán đổi () Trao đổi nội dung bản đồ với nội dung bản đồ x. |
Giới thiệu về multimap
Multimap là từ điển giống như cấu trúc dữ liệu. Nó là một chuỗi cặp (khóa, giá trị) , trong đó nhiều giá trị có thể được liên kết với các khóa tương đương. Nó thường được gọi là mảng kết hợp .
Trong multimap, các giá trị khóa thường được sử dụng để sắp xếp các phần tử. Đối với dữ liệu đa bản đồ, loại khóa và giá trị có thể khác nhau và nó được biểu thị dưới dạng
typedef pair<const Key, T> value_type;
Đa bản đồ thường được triển khai dưới dạng Cây tìm kiếm nhị phân.
Nhiều bản đồ có kích thước bằng không cũng hợp lệ. Trong trường hợp đó, multimap.begin () và multimap.end () trỏ đến cùng một vị trí.
Định nghĩa
Dưới đây là định nghĩa của std :: multimap từ tệp tiêu đề <multimap>
template < class Key,
class T,
class Compare = less<Key>,
class Alloc = allocator<pair<const Key,T> >
> class multimap;
Thông số
Key - Loại chìa khóa.
T - Loại giá trị được ánh xạ.
Compare - Một vị từ nhị phân nhận hai khóa phần tử làm đối số và trả về giá trị bool.
Alloc - Loại đối tượng cấp phát.
T có thể được thay thế bằng bất kỳ kiểu dữ liệu nào khác bao gồm cả kiểu do người dùng xác định.
Các loại thành viên
Các kiểu thành viên sau có thể được sử dụng làm tham số hoặc kiểu trả về bởi các hàm thành viên.
Sr.No. | Các loại thành viên | Định nghĩa |
---|---|---|
1 | loại chính | Khóa (Tham số đầu tiên của mẫu) |
2 | mapped_type | T (Tham số thứ hai của mẫu) |
3 | key_compare | So sánh (Tham số thứ ba của mẫu) |
4 | phân bổ_type | Alloc (Tham số thứ tư của mẫu) |
5 | value_type | cặp <const key_type, mapped_type> |
6 | value_compare | Lớp hàm lồng nhau để so sánh các phần tử |
7 | tài liệu tham khảo | Cấp phát_type :: tham chiếu |
số 8 | const_reference | Deliveryator_type :: const_reference |
9 | con trỏ | Deliveryator_type :: pointer |
10 | const_pointer | Cấp phát_type :: const_pointer |
11 | người lặp lại | trình lặp hai chiều thành value_type |
12 | const_iterator | trình lặp hai chiều thành const value_type |
13 | reverse_iterator | trình lặp ngược |
14 | const_reverse_iterator | trình lặp ngược liên tục |
15 | chênh_chung | ptrdiff_t |
16 | size_type | size_t |
Các chức năng từ <multimap>
Dưới đây là danh sách tất cả các phương thức từ tiêu đề <multimap>.
Người xây dựng
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | multimap :: multimap default constructor Tạo một multimap rỗng không có phần tử nào. |
2 | multimap :: multimap range constructor Tạo một multimap với nhiều phần tử trong phạm vi từ đầu tiên đến cuối cùng . |
3 | multimap :: multimap copy constructor Tạo một multimap với bản sao của từng phần tử có trong multimap hiện có. |
4 | multimap :: multimap move constructor Xây dựng một multimap với các nội dung khác bằng cách sử dụng ngữ nghĩa chuyển động. |
5 | multimap :: multimap khởi tạo danh sách khởi tạo Tạo một multimap từ danh sách khởi tạo. |
Kẻ hủy diệt
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | multimap :: ~ multimap Hủy đối tượng multimap bằng cách phân bổ bộ nhớ của nó. |
Chức năng thành viên
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | multimap :: begin Trả về một trình lặp tham chiếu đến phần tử đầu tiên của multimap. |
2 | multimap :: cbegin Trả về một trình lặp hằng số tham chiếu đến phần tử đầu tiên của multimap. |
3 | multimap :: cend Trả về một trình lặp không đổi trỏ đến phần tử cuối cùng của đa bản đồ. |
4 | multimap :: clear Hủy multimap bằng cách xóa tất cả các phần tử và đặt kích thước của multimap thành 0. |
5 | multimap :: count Trả về số lượng giá trị nhiều ánh xạ được liên kết với khóa k . |
6 | multimap :: crbegin Trả về một trình lặp ngược liên tục trỏ đến phần tử cuối cùng của vùng chứa. |
7 | multimap :: crend Trả về một trình lặp đảo ngược không đổi trỏ đến phần tử lý thuyết đứng trước phần tử đầu tiên trong vùng chứa. |
số 8 | multimap :: emplace Mở rộng vùng chứa bằng cách chèn phần tử mới. |
9 | multimap :: emplace_hint phiên bản gợi ý Chèn một phần tử mới trong một bản đồ đa điểm bằng cách sử dụng gợi ý làm vị trí cho phần tử. |
10 | multimap :: trống Kiểm tra xem multimap có trống hay không. |
11 | multimap :: end Trả về một trình lặp trỏ đến phần tử quá khứ-cuối trong nhiều sơ đồ. |
12 | multimap :: equal_range Trả về phạm vi phần tử phù hợp với khóa cụ thể. |
13 | multimap :: xóa phiên bản vị trí Loại bỏ một phần tử của multimap khỏi vị trí . |
14 | multimap :: xóa phiên bản vị trí Loại bỏ một phần tử của multimap khỏi vị trí . |
15 | multimap :: phím xóa Loại bỏ giá trị được ánh xạ liên kết với khóa k . |
16 | multimap :: xóa phiên bản phạm vi Loại bỏ phạm vi phần tử khỏi multimap. |
17 | multimap :: xóa phiên bản phạm vi Loại bỏ phạm vi phần tử khỏi multimap. |
18 | multimap :: find Tìm một phần tử được liên kết với khóa k . |
19 | multimap :: get_allocator Trả về một trình phân bổ được liên kết với multimap. |
20 | multimap :: insert single element Mở rộng vùng chứa bằng cách chèn phần tử mới trong nhiều bản đồ. |
21 | multimap :: chèn phiên bản gợi ý Mở rộng vùng chứa bằng cách chèn phần tử mới trong nhiều bản đồ. |
22 | multimap :: insert range version Mở rộng vùng chứa bằng cách chèn các phần tử mới vào multimap. |
23 | multimap :: insert di chuyển gợi ý phiên bản Mở rộng multimap bằng cách chèn phần tử mới. |
24 | multimap :: chèn phiên bản danh sách trình khởi tạo Mở rộng multimap bằng cách chèn phần tử mới từ danh sách trình khởi tạo. |
25 | multimap :: key_comp Trả về một đối tượng hàm so sánh các phím, đó là một bản sao của các đối số nhà xây dựng của thùng chứa này comp . |
26 | multimap :: low_bound Trả về một trình lặp trỏ đến phần tử đầu tiên không nhỏ hơn khóa k . |
27 | multimap :: max_size Trả về số lượng phần tử tối đa có thể được giữ bởi multimap. |
28 | multimap :: operator = copy version Gán nội dung mới cho multimap bằng cách thay thế những nội dung cũ và sửa đổi kích thước nếu cần. |
29 | multimap :: operator = di chuyển phiên bản Di chuyển nội dung của một multimap sang một bản đồ khác và sửa đổi kích thước nếu cần. |
30 | multimap :: operator = phiên bản danh sách trình khởi tạo Sao chép các phần tử từ danh sách trình khởi tạo sang nhiều bản đồ. |
31 | multimap :: rbegin Trả về một trình lặp đảo ngược trỏ đến phần tử cuối cùng của multimap. |
32 | multimap :: rend Trả về một trình lặp ngược trỏ đến điểm cuối ngược lại của multimap. |
33 | multimap :: size Trả về số phần tử có trong nhiều bản đồ. |
34 | multimap :: swap Trao đổi nội dung của multimap với nội dung của multimap x. |
35 | multimap :: upper_bound Trả về một trình lặp trỏ đến phần tử đầu tiên lớn hơn khóa k . |
36 | multimap :: value_comp Trả về một đối tượng hàm so sánh các đối tượng kiểu std :: multimap :: value_type . |
Các chức năng quá tải không phải thành viên
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | toán tử == Kiểm tra xem hai bản đồ có bằng nhau hay không. |
2 | toán tử! = Kiểm tra xem hai bản đồ có bằng nhau hay không. |
3 | toán tử < Kiểm tra xem đa bản đồ đầu tiên có nhỏ hơn bản đồ khác hay không. |
4 | multimap :: operator <= Kiểm tra xem đa bản đồ đầu tiên có nhỏ hơn hoặc bằng bản đồ khác hay không. |
5 | toán tử> Kiểm tra xem đa bản đồ đầu tiên có lớn hơn bản đồ khác hay không. |
6 | toán tử> = Kiểm tra xem nhiều bản đồ đầu tiên có lớn hơn hoặc bằng bản đồ khác hay không. |
7 | hoán đổi () Trao đổi nội dung của multimap với nội dung của multimap x. |