std::stack::top
#include <stack>
reference& top();
const_reference& top() const;
Trả về tham chiếu đến phần tử ở đỉnh của std::stack.
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 |