C++ Deque::pop_back() 函数



C++ 的std::deque::pop_back()函数用于从双端队列容器中删除最后一个元素。它将双端队列的大小减少一个,并使指向弹出元素的引用、指针或迭代器失效。

当我们尝试对空双端队列调用 pop_back() 函数时,会导致未定义的行为。

语法

以下是 std::deque::pop_back() 函数的语法。

void pop_back();

参数

它不接受任何参数。

返回值

此函数不返回任何内容。

异常

在空双端队列上调用此函数会导致未定义的行为。

时间复杂度

此函数的时间复杂度为常数,即 O(1)。

示例

在以下示例中,我们将考虑 pop_back() 函数的基本用法。

#include <iostream>
#include <deque>
int main()
{
    std::deque<char> a = {'A', 'B', 'C', 'D'};
    a.pop_back();
    std::cout << "Deque after pop_back(): ";
    for (auto x = a.begin(); x != a.end(); ++x) {
        std::cout << *x << " ";
    }
    std::cout << std::endl;
    return 0;
}

输出

以下是上述代码的输出:

Deque after pop_back(): A B C 

示例

考虑以下示例,我们将处理空双端队列。

#include <iostream>
#include <deque>
int main()
{
    std::deque<int> a;
    if (!a.empty()) {
        a.pop_back();
    } else {
        std::cout << "Deque is empty." << std::endl;
    }
    return 0;
}

输出

上述代码的输出如下:

Deque is empty.

示例

让我们看以下示例,我们将从中删除多个元素双端队列。

#include <iostream>
#include <deque>
int main()
{
    std::deque<char> a = {'A', 'B', 'C', 'D'};
    a.pop_back();
    a.pop_back();
    std::cout << "Deque after pop_back(): ";
    for (auto x = a.begin(); x != a.end(); ++x) {
        std::cout << *x << " ";
    }
    std::cout << std::endl;
    return 0;
}

输出

如果我们运行上述代码,它将生成以下输出:

Deque after pop_back(): A B 
deque.htm
广告