Chuyển tới nội dung chính

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

  1. 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.
  2. 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ản const).
  3. Hai phiên bản: Phiên bản const được sử dụng cho các đối tượng std::stack const, đảm bảo tính an toàn về const.
  4. 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 tra empty() trước khi gọi top().
  5. 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.
  6. Độ 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

popXóa phần tử ở đỉnh của std::stack
pushThêm một phần tử mới vào đỉnh của std::stack