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 () và 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. |