std::stack::top
#include <stack>
Trả về tham chiếu đến phần tử ở đỉnh của std::stack.
reference& top();
const_reference& top() const;
Tham số
Không có tham số
Giá trị trả về
- reference (phiên bản không const): Trả về một tham chiếu (có thể đọc và ghi) đến phần tử ở đỉnh std::stack. Bạn có thể sử dụng tham chiếu này để thay đổi giá trị của phần tử.
- const_reference (phiên bản const): Trả về một tham chiếu hằng (chỉ đọc) đến phần tử ở đỉnh std::stack. Phiên bản này được sử dụng khi std::stack là một đối tượng
const.
Đặc điểm
- Truy cập phần tử đỉnh:
top()cung cấp cách thức nhanh chóng và tiện lợi để truy cập phần tử ở đỉnh của std::stack. - Tham chiếu:
top()trả về tham chiếu, cho phép bạn thay đổi trực tiếp giá trị của phần tử ở đỉnh (trừ phiên bảnconst). - Hai phiên bản: Phiên bản
constđược sử dụng cho các đối tượng std::stackconst, đảm bảo tính an toàn vềconst. - Hành vi không xác định khi stack rỗng: Gọi
top()trên một std::stack rỗng sẽ dẫn đến hành vi không xác định (undefined behavior). Bạn nên kiểm traempty()trước khi gọitop(). - Không làm thay đổi stack (ngoại trừ việc thay đổi giá trị phần tử ở đỉnh thông qua tham chiếu trả về): Gọi
top()không làm thay đổi cấu trúc, kích thước hay các phần tử khác của std::stack. - Độ phức tạp:
O(1)- thời gian hằng số.
Ví dụ
#include <iostream>
#include <stack>
int main() {
std::stack<int> mystack;
mystack.push(10);
mystack.push(20);
mystack.push(30);
// Truy cập và in ra phần tử trên cùng
std::cout << "Top element: " << mystack.top() << '\n'; // Output: Top element: 30
// Thay đổi giá trị của phần tử trên cùng
mystack.top() = 5;
// In ra phần tử trên cùng sau khi thay đổi
std::cout << "Top element after modification: " << mystack.top() << '\n'; // Output: Top element after modification: 5
return 0;
}
Các hàm liên quan
| pop | Xóa phần tử ở đỉnh của std::stack |
| push | Thêm một phần tử mới vào đỉnh của std::stack |