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

std::deque::pop_back

#include <deque>

void pop_back();

Xóa phần tử cuối cùng của deque.

Tham số

Không có tham số

Giá trị trả về

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

Đặc điểm

  1. pop_back() luôn xóa phần tử ở cuối deque.
  2. pop_back() làm giảm kích thước của deque đi 1.
  3. Gọi pop_back() trên một deque 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_back().
  4. Khi xóa phần tử cuối cùng, các phần tử còn lại trong deque vẫn giữ nguyên vị trí.
  5. pop_back() 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. pop_back() 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 back() trước khi xóa.
  7. Độ phức tạp: Độ phức tạp của pop_back()O(1) - thời gian hằng số.

Ví dụ

#include <iostream>
#include <deque>

int main() {
std::deque<int> myDeque = {10, 20, 30};

myDeque.pop_back(); // Xóa phần tử cuối cùng (30)

std::cout << "myDeque:";
for (int x : myDeque) {
std::cout << ' ' << x;
}
std::cout << '\n'; // Output: myDeque: 10 20

myDeque.pop_back(); // Xóa phần tử cuối cùng (20)

std::cout << "myDeque:";
for (int x : myDeque) {
std::cout << ' ' << x;
}
std::cout << '\n'; // Output: myDeque: 10

return 0;
}

Kiểm tra deque có rỗng hay không

#include <iostream>
#include <deque>

int main() {
std::deque<int> myDeque;

if (!myDeque.empty()) {
myDeque.pop_back();
} else {
std::cout << "Cannot call pop_back() on an empty deque!\n";
}

return 0;
}

Các hàm liên quan

pop_frontXóa phần tử đầu tiên của deque
push_backThêm một phần tử mới vào cuối deque
eraseXóa một hoặc nhiều phần tử khỏi deque tại một vị trí cụ thể hoặc trong một phạm vi