C++ Deque::push_front() 函数



C++ 的 std::deque::push_front() 函数用于在 deque 的开头插入元素。它高效地将元素添加到前端,移动现有元素以插入新元素。与 vector 不同,deque 支持在两端高效地插入和删除元素。

此函数有两个多态变体:使用默认版本和移动版本(您可以在下面找到所有变体的语法)。

语法

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

void push_front (const value_type& val);
or
void push_front (value_type&& val);

参数

  • val − 表示要插入到 deque 中的元素的值。

返回值

它不返回任何值。

异常

此函数从不抛出异常。

时间复杂度

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

示例

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

#include <iostream>
#include <deque>
int main()
{
    std::deque<char> a = {'B', 'C', 'D'};
    a.push_front('A');
    for (auto& elem : a) {
        std::cout << elem << " ";
    }
    std::cout << std::endl;
    return 0;
}

输出

以上代码的输出如下:

A B C D 

示例

考虑以下示例,我们将在此示例中在循环中插入元素。

#include <iostream>
#include <deque>
int main()
{
    std::deque<int> a;
    for (int x = 0; x <= 4; ++x) {
        a.push_front(x * 2);
    }
    for (auto y = a.begin(); y != a.end(); ++y) {
        std::cout << *y << " ";
    }
    std::cout << std::endl;
    return 0;
}

输出

以上代码的输出如下:

8 6 4 2 0 

示例

让我们来看下面的示例,我们将在此示例中将 push_front() 与字符串一起使用。

#include <iostream>
#include <deque>
#include <string>
int main()
{
    std::deque<std::string> a;
    a.push_front("Hi");
    a.push_front("Hello");
    for (const auto& str : a) {
        std::cout << str << " ";
    }
    std::cout << std::endl;
    return 0;
}

输出

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

Hello Hi
deque.htm
广告