當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ Stack push()用法及代碼示例


C++ Stack push()函數用於在棧頂添加新元素。如果我們有一個堆棧類型的數組並且通過使用 push() 函數,我們可以在堆棧中插入新元素。元素被插入到棧頂。最開始插入的元素在最後被刪除,反之亦然,因為堆棧遵循 LIFO 原則。

用法

void push (const value_type& value);

參數

value: 參數表示元素被初始化的值。該參數指定新插入元素的值。元素 'val' 在函數執行後成為新的棧頂元素。

返回值

該函數隻插入元素,不返回任何值。函數的返回類型可以認為是void。

例子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 

複雜度

對底層容器的推回進行一次調用,這是完成元素上的插入操作所必需的。

數據競爭

對容器和包含的元素進行了修改。添加新元素會修改所有底層堆棧元素。

異常安全

提供等同於對底層容器對象執行的操作的保證。





相關用法


注:本文由純淨天空篩選整理自 C++ Stack push() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。