在C++ STL中 deque::push_front()

在C++ STL中 deque::push_front()

Deque或双端队列是具有在两端扩展和收缩功能的序列容器。它们类似于向量,但在插入和删除元素末尾以及开头时更有效率。与向量不同,连续存储分配不能保证。

deque::push_front()

push_front()函数用于从前面将元素推入deque。新值被插入到当前第一个元素之前的deque中,并且容器大小增加1。

语法 :

dequename.push_front(value)
参数 :
要添加到前面的值作为参数传递
结果 :
将作为参数提到的值添加到名为dequename的deque的前面

例如:

输入: deque{1, 2, 3, 4, 5};
        deque.push_front(6);
输出: 6, 1, 2, 3, 4, 5

输入: deque{5, 4, 3, 2, 1};
        deque.push_front(6);
输出:6, 5, 4, 3, 2, 1

错误和异常

1. 强烈的异常保证-如果抛出异常,则容器中没有更改。

2. 如果作为参数传递的值不受deque支持,则会显示未定义的行为。

// CPP程序说明
//push_front()函数
#include <deque>
#include <iostream>
using namespace std;
  
int main()
{
    deque<int> mydeque{ 1, 2, 3, 4, 5 };
    mydeque.push_front(6);
  
    // deque becomes 6, 1, 2, 3, 4, 5
  
    for (auto it = mydeque.begin();
         it != mydeque.end(); ++it)
        cout << ' ' << *it;
}

输出:

6 1 2 3 4 5

时间复杂度 : O(1)

应用

给定一个空的deque,使用push_front()函数添加整数,然后计算其大小。

输入 : 1, 2, 3, 4, 5, 6
输出 : 6

算法

1.使用push_front()函数将元素添加到deque中

2.检查deque的大小是否为0,如果不是,则将计数器变量初始化为0并将其弹出第一个元素。

3.重复此步骤,直到deque的大小变为0。

4.打印变量的最终值。

// CPP program to illustrate
// push_front() function
#include <deque>
#include <iostream>
using namespace std;
  
int main()
{
    int count = 0;
    deque<int> mydeque;
    mydeque.push_front(1);
    mydeque.push_front(2);
    mydeque.push_front(3);
    mydeque.push_front(4);
    mydeque.push_front(5);
    mydeque.push_front(6);
    while (!mydeque.empty()) {
        count++;
        mydeque.pop_front();
    }
    cout << count;
    return 0;
}

输出:

6

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程