Thư viện C ++ - <queue>
Giới thiệu về hàng đợi
Hàng đợi là một cấu trúc dữ liệu được thiết kế để hoạt động trong ngữ cảnh FIFO (First in First out). Các phần tử trong hàng đợi được chèn từ phía sau và được loại bỏ khỏi phần trước .
Lớp hàng đợi là bộ điều hợp vùng chứa. Container là một đối tượng chứa dữ liệu cùng loại. Hàng đợi có thể được tạo từ các vùng chứa trình tự khác nhau. Bộ điều hợp vùng chứa không hỗ trợ trình vòng lặp do đó chúng tôi không thể sử dụng chúng để thao tác dữ liệu. Tuy nhiên, chúng hỗ trợ các hàm thành viên push () và pop () để chèn và xóa dữ liệu tương ứng.
Định nghĩa
Dưới đây là định nghĩa của std :: queuer từ tệp tiêu đề <queue>
template <class T, class Container = deque<T> > class queue;
Thông số
T - Loại của phần tử được chứa.
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.
Container - Loại đối tượng chứa bên dưới.
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 | value_type | T (Tham số đầu tiên của mẫu) |
2 | container_type | Tham số thứ hai của mẫu |
3 | size_type | size_t |
4 | tài liệu tham khảo | value_type & |
5 | const_reference | const value_type & |
6 | chênh_chung | ptrdiff_t |
Các hàm từ <queue>
Dưới đây là danh sách tất cả các phương thức từ tiêu đề <queue>.
Người xây dựng
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | queue :: queue default constructor Xây dựng một đối tượng hàng đợi rỗng, không có phần tử nào. |
2 | queue :: queue khởi tạo hàm khởi tạo Xây dựng một đối tượng hàng đợi và gán vùng chứa bên trong bởi một bản sao của ctnr . |
3 | queue :: queue move constructor Xây dựng hàng đợi với nội dung của khác bằng cách sử dụng ngữ nghĩa di chuyển. |
4 | queue :: queue copy constructor Tạo một hàng đợi với bản sao của từng phần tử có trong hàng đợi khác hiện có . |
Kẻ hủy diệt
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | hàng đợi :: ~ hàng đợi Hủy hàng đợi bằng cách phân bổ bộ nhớ vùng chứa thỏa thuận. |
Chức năng thành viên
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | hàng đợi :: quay lại Trả về một tham chiếu đến phần tử cuối cùng của hàng đợi. |
2 | hàng đợi :: emplace Xây dựng và chèn phần tử mới vào cuối hàng đợi. |
3 | hàng đợi :: trống Kiểm tra xem hàng đợi có trống hay không. |
4 | hàng đợi :: phía trước Trả về một tham chiếu đến phần tử đầu tiên của hàng đợi. |
5 | queue :: operator = copy version Gán nội dung mới cho hàng đợi bằng cách thay thế những nội dung cũ. |
6 | queue :: operator = di chuyển phiên bản Gán nội dung mới cho hàng đợi bằng cách thay thế những nội dung cũ. |
7 | hàng đợi :: pop Loại bỏ phần tử phía trước của hàng đợi. |
số 8 | hàng đợi :: phiên bản push copy Chèn phần tử mới vào cuối hàng đợi. |
9 | hàng đợi :: đẩy phiên bản di chuyển Chèn phần tử mới vào cuối hàng đợi. |
10 | hàng đợi :: kích thước Trả về tổng số phần tử có trong hàng đợi. |
11 | hàng đợi :: hoán đổi Trao đổi nội dung của hàng đợi với nội dung của hàng đợi khác. |
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 hàng đợi có bằng nhau hay không. |
2 | toán tử! = Kiểm tra xem hai hàng đợi có bằng nhau hay không. |
3 | toán tử < Kiểm tra xem hàng đợi đầu tiên có ít hơn hàng đợi khác hay không. |
4 | toán tử <= Kiểm tra xem hàng đợi đầu tiên có nhỏ hơn hoặc bằng hàng đợi khác hay không. |
5 | toán tử> Kiểm tra xem hàng đợi đầu tiên có lớn hơn hàng đợi khác hay không. |
6 | toán tử> = Kiểm tra xem hàng đợi đầu tiên có lớn hơn hoặc bằng hàng đợi khác hay không. |
7 | hoán đổi Trao đổi nội dung của hai hàng đợi. |
Giới thiệu về priority_queue
Hàng đợi ưu tiên là cấu trúc dữ liệu hàng đợi có quyền ưu tiên. Hàng đợi ưu tiên tương tự như cấu trúc dữ liệu heap trong đó phần tử có thể được chèn theo bất kỳ thứ tự nào và phần tử heap luôn tối đa được truy xuất đầu tiên.
Định nghĩa
Dưới đây là định nghĩa của std :: priority_queue từ tệp tiêu đề <queue>
template <class T, class Container = vector<T>,
class Compare = less<typename Container::value_type> < class priority_queue;
Thông số
T - Loại của phần tử được chứa.
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.
Container - Loại đối tượng chứa bên dưới.
Compare - Đối tượng so sánh được sử dụng để sắp xếp thứ tự ưu tiên.
Đây có thể là một con trỏ hàm hoặc đối tượng hàm có thể so sánh hai đối số của nó.
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 | value_type | T (Tham số đầu tiên của mẫu) |
2 | container_type | Tham số thứ hai của mẫu |
3 | size_type | size_t |
4 | tài liệu tham khảo | value_type & |
5 | const_reference | const value_type & |
6 | chênh_chung | ptrdiff_t |
Các hàm từ <queue>
Dưới đây là danh sách tất cả các phương thức từ tiêu đề <queue>.
Người xây dựng
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | hàm tạo mặc định priority_queue :: priority_queue Xây dựng một hàng ưu tiên trống không có phần tử nào. |
2 | priority_queue :: priority_queue khởi tạo phương thức khởi tạo Xây dựng một đối tượng priority_queue và gán vùng chứa bên trong bởi một bản sao của ctnr . |
3 | giá trị ưu tiên :: phương thức tạo phạm vi ưu tiên Tạo một ưu tiên_lệnh với nhiều phần tử trong phạm vi từ đầu tiên đến cuối cùng. |
4 | Priority_queue :: priority_queue di chuyển phương thức khởi tạo Xây dựng priority_queue với nội dung của các ngữ nghĩa di chuyển khác. |
5 | priority_queue :: priority_queue copy constructor Xây dựng một priority_queue với bản sao của mỗi phần tử có trong ưu tiên hiện có khác. |
Kẻ hủy diệt
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | priority_queue :: ~ priority_queue Hủy bỏ ưu tiên_chính sách bằng cách phân bổ thỏa thuận bộ nhớ vùng chứa. |
Chức năng thành viên
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | priority_queue :: emplace Xây dựng và chèn phần tử mới theo thứ tự được sắp xếp trong hàng ưu tiên. |
2 | priority_queue :: trống Kiểm tra xem pritority_queue có trống hay không. |
3 | priority_queue :: operator = copy version Gán nội dung mới cho priority_queue bằng cách thay thế các nội dung cũ. |
4 | priority_queue :: operator = di chuyển phiên bản Gán nội dung mới cho priority_queue bằng cách thay thế các nội dung cũ. |
5 | priority_queue :: pop Loại bỏ phần tử phía trước của priority_queue. |
6 | priority_queue :: phiên bản push copy Chèn phần tử mới theo thứ tự đã sắp xếp. |
7 | Priority_queue :: push move phiên bản Chèn phần tử mới theo thứ tự đã sắp xếp. |
số 8 | priority_queue :: size Trả về tổng số phần tử có trong hàng ưu tiên. |
9 | priority_queue :: swap Trao đổi nội dung của priority_queue với nội dung của priority_queue khác. |
10 | priority_queue :: top Trả về một tham chiếu đến phần tử đầu tiên của priority_queue |
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 | hoán đổi Trao đổi nội dung của priority_queue với nội dung của priority_queue khác. |