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

std::stack::pop

#include <stack>

void pop();

Xóa phần tử ở đỉnh của std::stack.

Tham số

Không có tham số

Giá trị trả về

Không có giá trị trả về

Đặc điểm

  1. Xóa phần tử ở đỉnh: pop() luôn xóa phần tử ở đỉnh std::stack.
  2. Giảm kích thước: pop() làm giảm kích thước của std::stack đi 1.
  3. Hành vi không xác định khi stack rỗng: Gọi pop() 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 pop().
  4. Dựa trên underlying container: pop() của std::stack thực chất gọi hàm pop_back() (đối với std::deque, std::list) hoặc pop_back() (đối với std::vector) của underlying container.
  5. Không ném ngoại lệ: pop() không ném ra bất kỳ ngoại lệ nào (trừ khi destructor của phần tử bị xóa ném ngoại lệ, nhưng trường hợp này rất hiếm).
  6. Không trả về giá trị phần tử bị xóa: pop() không trả về giá trị của phần tử bị xóa. Nếu bạn cần giá trị đó, hãy truy cập bằng top() trước khi xóa.
  7. Độ phức tạp: Độ phức tạp của pop()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);

std::cout << "Top element before pop: " << mystack.top() << '\n'; // Output: Top element before pop: 30

mystack.pop(); // Xóa phần tử ở đỉnh (30)

std::cout << "Top element after pop: " << mystack.top() << '\n'; // Output: Top element after pop: 20

return 0;
}

Các hàm liên quan

pushThêm một phần tử mới vào đỉnh của std::stack
emptyKiểm tra xem std::stack có rỗng hay không