1. 程式人生 > >C++ STL容器之Stack的基本用法

C++ STL容器之Stack的基本用法

一,什麼是棧?

棧是一種只能在某一端插入和刪除的特殊線性表。它按照後進先出的原則儲存資料,先進入的資料被壓入棧底,後進入的資料在棧頂,需要讀資料的時候從棧頂開始彈出資料。

所以棧也稱為先進後出(Last In First Ont,LIFO)表。

二,棧的基本用法

bool empty():棧為空返回true(1),否則返回false(0)

void pop():刪除棧頂元素,即出棧

void push(const TYPE&val):將新元素val進棧,使其成為棧頂元素

TYPE&top():檢視當前棧頂元素

size_type size():返回堆疊中的元素數目

三,程式碼例項:

#include <iostream>
#include <stack>
using namespace std;
 
int main()
{
	stack<int> stackName;
	int x;
	int length = 0;
	cout <<"stackName是空棧嗎?"<< stackName.empty()<< endl;
	cout << "請輸入你要建立的堆疊長度:";
	cin >> length;
	for(int i = 0; i < length; i++)
	{
		cin >> x;
		stackName.push(x);
	}
	cout <<"stackName是空棧嗎?"<< stackName.empty()<< endl; 
	cout <<"該堆疊長度為:"<< stackName.size()<< endl; 
	for(int i = 0; i < length; i++)
	{
		cout << stackName.top()<< endl;
		stackName.pop();
	}
	return 0;
}

四,輸出結果: