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


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


C++ Stack pop() 函數用於移除棧頂元素。該函數執行刪除操作。堆棧中的刪除是從頂部完成的。最近插入的元素首先被刪除。堆棧遵循後進先出的後進先出原則,因此彈出操作遵循上述順序。

用法

void pop()

參數

該函數不帶參數,僅用於刪除頂部元素。此外,由於堆棧遵循 LIFO 原則,我們不需要指定要刪除哪個元素,因為默認情況下,最頂部的元素將首先被刪除。

返回值

該函數僅用於從堆棧中移除元素,並且沒有返回值。因此我們可以說函數的返回類型是void。

例子1

//該程序用於通過插入簡單的整數值來演示堆棧的pop()函數的使用。

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

輸出:

Popping out elements... 4 3 2 1 0

例子2

//該程序用於通過插入簡單的整數值來演示堆棧的pop()函數的使用。

#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

例子3

//該程序用於通過插入簡單的整數值來演示堆棧的pop()函數的使用。

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

輸出:

90 85 80 79 69

複雜度

函數的複雜度是恒定的,函數隻在棧頂執行pop或delete操作,不會增加任何複雜度。

數據競爭

對容器和包含的元素進行了修改。通過刪除操作的變化反映在頂部位置的元素,頂部位置向下移動一個單位。它可以被證明為top=top--。

異常安全

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





相關用法


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