Thư viện C ++ - <set>

Giới thiệu

A setlà một vùng chứa liên kết chứa một tập hợp các đối tượng duy nhất được sắp xếp của loại Khóa. Mỗi phần tử chỉ có thể xuất hiện một lần, vì vậy không được phép trùng lặp.

Có bốn loại vùng chứa liên kết: set, multiset, map và multimap.

Giá trị của các phần tử trong một tập hợp không thể được sửa đổi một lần trong vùng chứa, tức là, các phần tử luôn là const. Nhưng chúng có thể được lắp vào hoặc lấy ra khỏi thùng chứa.

vùng chứa tập hợp thường chậm hơn vùng chứa không có thứ tự_set trong việc truy cập các phần tử riêng lẻ bằng khóa của chúng, nhưng chúng cho phép lặp lại trực tiếp trên các tập hợp con dựa trên thứ tự của chúng.

Định nghĩa

Dưới đây là định nghĩa của std :: set từ tệp tiêu đề <set>

template < 
    class Key,
    class Compare = std::less<Key>,
    class Allocator = std::allocator<Key>
> class set;

Thông số

  • Key - Loại của phần tử được chứa.

    Khóa có thể được thay thế bằng bất kỳ kiểu dữ liệu nào khác kể 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 Chìa khóa
2 value_type Chìa khóa
3 tài liệu tham khảo Allocator :: tham chiếu

value_type &

4 const_reference Bộ phân bổ :: const_reference

const value_type &

5 con trỏ Allocator :: pointer

std :: certator_traits <Allocator> :: pointer

6 const_pointer Bộ phân bổ :: const_pointer

std :: certator_traits <Allocator> :: const_pointer

7 người lặp lại Trình điều khiển hai chiều
số 8 const_iterator liên tục hai chiều
9 reverse_iterator std :: reverse_iterator <iterator>
10 const_reverse_iterator std :: reverse_iterator <const_iterator>
11 size_type Loại số nguyên không dấu (std :: size_t)
12 chênh_chung Loại số nguyên đã ký (std :: ptrdiff_t)
13 key_compare So sánh
14 value_compare So sánh
15 Cấp phát_type Người phân bổ

Các hàm từ <set>

Dưới đây là danh sách tất cả các phương thức từ tiêu đề <set>.

CHỨC NĂNG THÀNH VIÊN

DEFAULT MEMBER FUNCTIONS

Sr.No. Phương pháp & Mô tả
1 Nhà xây dựng mặc định

Xây dựng vùng chứa đã đặt.

2 Hàm tạo phạm vi

Xây dựng vùng chứa đã đặt với nội dung của phạm vi.

3 Sao chép hàm tạo

Xây dựng vùng chứa đã đặt với bản sao của tập hợp khác.

4 Di chuyển hàm tạo

Xây dựng vùng chứa tập hợp với nội dung của tập hợp khác bằng cách sử dụng ngữ nghĩa di chuyển.

5 Hàm khởi tạo danh sách khởi tạo

Xây dựng vùng chứa đã đặt với nội dung của danh sách inializer.

6 (máy hủy)

Hủy vùng chứa đã đặt.

7 toán tử =

Gán giá trị cho vùng chứa đã đặt.

NHÀ HÀNG

Sr.No. Phương pháp & Mô tả
1 set :: begin

Trả lại trình lặp để bắt đầu.

2 set :: cbegin

Trả về trình lặp const về đầu.

3 set :: end

Trả về trình lặp để kết thúc.

4 set :: cend

Trả về trình lặp const để kết thúc.

5 set :: rbegin

Trả về trình lặp ngược để bắt đầu ngược lại.

6 set :: crbegin

Trả về trình lặp ngược const để bắt đầu ngược lại.

7 set :: rend

Trả về trình lặp ngược để kết thúc ngược lại.

số 8 set :: crend

Trả về trình lặp ngược const để kết thúc ngược lại.

SỨC CHỨA

Sr.No. Phương pháp & Mô tả
1 set :: trống

Trả về khi bộ chứa đã đặt trống.

2 đặt :: kích thước

Trả về số phần tử trong vùng chứa đã đặt.

3 set :: max_size

Trả về số phần tử tối đa mà vùng chứa đã đặt có thể chứa.

NGƯỜI ĐIỀU CHỈNH

Sr.No. Phương pháp & Mô tả
1 set :: clear

Xóa tất cả các phần tử khỏi vùng chứa đã đặt.

2 set :: insert

Chèn phần tử mới vào vùng chứa đã đặt.

3 set :: emplace

Chèn phần tử mới vào tập hợp, nếu phần tử đó là duy nhất.

4 set :: emplace_hint

Chèn phần tử mới vào tập hợp, nếu là duy nhất, với gợi ý về vị trí chèn.

5 đặt :: xóa

Loại bỏ một phần tử đơn lẻ hoặc một loạt các phần tử khỏi vùng chứa đã đặt.

6 set :: swap

Trao đổi nội dung của vùng chứa bằng nội dung của một tập hợp vùng chứa khác cùng loại.

TRA CỨU

Sr.No. Phương pháp & Mô tả
1 set :: count

Trả về số phần tử có giá trị khớp trong vùng chứa đã đặt.

2 đặt :: tìm

Tìm kiếm giá trị cho vùng chứa đã đặt và trả về một trình vòng lặp cho nó nếu được tìm thấy, nếu tìm thấy thì trả về một trình vòng lặp để đặt :: end.

3 set :: low_bound

Trả về một trình lặp trỏ đến phần tử đầu tiên trong vùng chứa đã đặt mà không được coi là đi trước giá trị.

4 set :: upper_bound

Trả về một trình lặp trỏ đến phần tử đầu tiên trong vùng chứa đã đặt được coi là đi sau giá trị.

5 set :: equal_range

Trả về các giới hạn của một dải ô bao gồm tất cả các phần tử trong vùng chứa đã đặt tương đương với giá trị.

NGƯỜI QUAN SÁT

Sr.No. Phương pháp & Mô tả
1 set :: key_comp

Trả về bản sao của đối tượng so sánh được sử dụng bởi vùng chứa đã đặt.

2 set :: value_comp

Trả về bản sao của đối tượng so sánh được sử dụng bởi vùng chứa đã đặt.

XÁC SUẤT

Sr.No. Phương pháp & Mô tả
1 set :: get_allocator

Trả về bản sao của đối tượng cấp phát được liên kết với vùng chứa đã đặt.