C++ Queue::back() 函数



C++ 的std::queue::back()函数用于访问队列的最后一个元素,而无需将其移除。它允许访问最近添加的元素,提供了一种读取或修改该元素的方法。此函数的时间复杂度为O(1)。当需要修改队列中最近添加的元素时,通常会使用此函数。

当此函数在空队列上调用时,会导致未定义行为。

语法

以下是std::queue::back()函数的语法。

reference& back();const_reference& back() const;

参数

此函数不接受任何参数。

返回值

此函数返回对队列中最后一个元素的引用。

示例

让我们来看下面的例子,我们将演示back()函数的基本用法。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> a;
    a.push(11);
    a.push(22);
    a.push(33);
    std::cout << "The last element is: " << a.back() << std::endl;
    return 0;
}

输出

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

The last element is: 33

示例

考虑另一种情况,我们将使用back()函数修改最后一个元素。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> a;
    a.push(1);
    a.push(2);
    a.back() = 11;
    std::cout << "After modification the last element is : " << a.back() << std::endl;
    return 0;
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

After modification the last element is : 11

示例

在下面的示例中,我们将back()函数用于循环。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> a;
    for (int x = 1; x <= 5; ++x) {
        a.push(x * 2);
        std::cout << "" << a.back() << std::endl;
    }
    return 0;
}

输出

以上代码的输出如下:

2
4
6
8
10

示例

下面的示例中,我们首先检查队列是否为空,然后向队列添加元素并应用back()函数。

#include <iostream>
#include <queue>
int main()
{
    std::queue<int> a;
    if (!a.empty()) {
        std::cout << "The last element is: " << a.back() << std::endl;
    } else {
        std::cout << "The queue is empty" << std::endl;
    }
    a.push(1);
    a.push(2);
    if (!a.empty()) {
        std::cout << "After adding elements, the last element is: " << a.back() << std::endl;
    }
    return 0;
}

输出

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

The queue is empty
After adding elements, the last element is: 2
queue.htm
广告