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

Giới thiệu

Stack là một cấu trúc dữ liệu được thiết kế để hoạt động trong ngữ cảnh LIFO (Last in First out). Trong ngăn xếp, các phần tử được chèn vào cũng như được loại bỏ chỉ từ một đầu.

Lớp ngăn xếp 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. Ngăn xếp có thể được tạo từ các vùng chứa trình tự khác nhau. Nếu vùng chứa không được cung cấp, nó sẽ sử dụng vùng chứa deque mặc định . 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 ()pop () để chèn và loại bỏ dữ liệu tương ứng.

Định nghĩa

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

template <class T, class Container = deque<T> > class stack;

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 &

Các hàm từ <stack>

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

Người xây dựng

Sr.No. Phương pháp & Mô tả
1 stack :: stack default constructor

Tạo một đối tượng ngăn xếp rỗng, không có phần tử nào.

2 stack :: stack copy constructor

Tạo một ngăn xếp với bản sao của từng phần tử có trong một ngăn xếp khác.

3 stack :: stack move constructor

Xây dựng một ngăn xếp với nội dung của khác bằng cách sử dụng ngữ nghĩa di chuyển.

Kẻ hủy diệt

Sr.No. Phương pháp & Mô tả
1 ngăn xếp :: ~ ngăn xếp

Hủy ngăn xếp 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 stack :: emplace

Xây dựng và chèn phần tử mới vào đầu ngăn xếp.

2 ngăn xếp :: trống

Kiểm tra xem ngăn xếp có trống hay không.

3 stack :: operator = copy version

Gán nội dung mới cho ngăn xếp bằng cách thay thế những nội dung cũ.

4 stack :: operator = di chuyển phiên bản

Gán nội dung mới cho ngăn xếp bằng cách thay thế những nội dung cũ.

5 ngăn xếp :: pop

Loại bỏ phần tử trên cùng khỏi ngăn xếp.

6 ngăn xếp :: phiên bản sao chép đẩy

Chèn phần tử mới vào đầu ngăn xếp.

7 ngăn xếp :: phiên bản di chuyển đẩy

Chèn phần tử mới vào đầu ngăn xếp.

số 8 kích thước ngăn xếp

Trả về tổng số phần tử có trong ngăn xếp.

9 ngăn xếp :: hoán đổi

Trao đổi nội dung của ngăn xếp với nội dung của ngăn xếp khác.

10 ngăn xếp :: đầu

Trả về một tham chiếu đến phần tử trên cùng của ngăn xếp.

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 ngăn xếp có bằng nhau hay không.

2 toán tử! =

Kiểm tra xem hai ngăn xếp có bằng nhau hay không.

3 toán tử <

Kiểm tra xem ngăn xếp đầu tiên có nhỏ hơn ngăn xếp khác hay không.

4 toán tử <=

Kiểm tra xem ngăn xếp đầu tiên có nhỏ hơn hoặc bằng ngăn xếp khác hay không.

5 toán tử>

Kiểm tra xem ngăn xếp đầu tiên có lớn hơn ngăn xếp khác hay không.

6 toán tử> =

Kiểm tra xem ngăn xếp đầu tiên có lớn hơn hoặc bằng ngăn xếp khác hay không.

7 hoán đổi

Trao đổi nội dung của hai ngăn xếp.