C++ Stack push()函数

C++ Stack push()函数

C++ Stack push()函数用于在栈的顶部添加新元素。如果我们有一个类型为stack的数组,通过使用push()函数,我们可以将新元素插入到栈中。元素被插入到栈的顶部。最初插入的元素在最后被删除,反之亦然,因为栈遵循LIFO原则。

语法

void push (const value_type& value);

参数

value :该参数代表元素初始化的值。该参数指定了新插入元素的值。函数执行后,元素’value’成为栈的新顶部元素。

返回值

该函数只插入元素,不返回任何值。函数的返回类型可以理解为空。

示例1

//该程序用于演示使用push()函数向栈中插入简单整数值的方法。

#include <iostream>
#include <stack>
int main()
{
         std::stack<int> newstack;
         for(int j= 0; j<5; j++)
         newstack.push(j);
         std::cout << "Poping the elements out of the stack??.";
         while (!newstack.empty () )
         {
       std::cout<<" " << newstack.top ();
        newstack.pop();
    }


std::cout<<"\n";
return 0;
}

输出:

Poping the elements out of the stack..... 4 3 2 1 0

示例2

#include <iostream>
#include <stack>
int main()
{

        std::stack<int> newstack;
        newstack.push(69);
        newstack.push(79);
        newstack.push(80);
        while (!newstack.empty())
        {
            std::cout<<" " << newstack.top ();
            newstack.pop();
        }
        return 0;
}

输出:

90 85 80 79 69

示例3

//这个程序用于演示使用 push() 函数将简单整数值插入到堆栈中。

#include <iostream>
#include <stack>
int main()
{
    std::stack<int> newstack; 
    newstack.push(11);
    newstack.push(22);
    newstack.push(33);
    newstack.push(44);
    std::cout << "Popping out elements?";
    newstack.pop();
    newstack.pop();
    while (!newstack.empty () )
    {
        std::cout << " " << newstack.top();
        newstack.pop();
    }
    std:: cout<<'\n';
    return 0;
}

输出:

Popping out elements... 22 11  

示例4

//该程序用于演示使用栈的push()函数通过插入简单整数值。

#include <iostream>
#include <stack>
int main()
{
    std::stack<int> a,b;
    a.push(5); a.push(8); a.push(50);
    b.push(132); b.push(45);
    std::cout<<"Size of a: "<<a.size();
    std::cout<<"\n Size of b:" <<b.size();
    return 0;
}

输出:

Size of a: 3
Size of b:2 

复杂性

将一个调用发送到底层的容器的推回操作,这对于插入元素的操作完成是必要的。

数据竞争

修改是针对容器及其包含的元素进行的。添加新元素会修改所有底层堆栈元素。

异常安全

提供与在底层容器对象上执行的操作等效的保证。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程