c++ stl棧容器stack的pop(),push()等用法介紹及標頭檔案
阿新 • • 發佈:2019-01-02
c++ stl棧stack介紹
C++ Stack(堆疊) 是一個容器類的改編,為程式設計師提供了堆疊的全部功能,——也就是說實現了一個先進後出(FILO)的資料結構。
c++ stl棧stack的標頭檔案為:
#include <stack>
c++ stl棧stack的成員函式介紹
操作比較和分配堆疊
empty()堆疊為空則返回真
pop()移除棧頂元素
push()在棧頂增加元素
size()返回棧中元素數目
top()返回棧頂元素
c++ stl棧stack用法程式碼舉例1
#include "stdafx.h"
#include <stack> #include <vector>
#include <deque>
#include <iostream>
using namespace std;
int _tmain( int argc, _TCHAR* argv[])
{
deque< int > mydeque(2,100);
vector< int > myvector(2,200);
stack< int > first;
stack< int > second(mydeque);
stack< int ,vector< int > > third;
stack< int ,vector< int > > fourth(myvector);
cout << "size of first: " << ( int ) first.size() << endl;
cout << "size of second: " << ( int ) second.size() << endl;
cout << "size of third: " << ( int ) third.size() << endl; cout << "size of fourth: " << ( int ) fourth.size() << endl;
return 0;
}
|
c++ stl棧stack用法程式碼舉例2
// stack::empty
#include <iostream>
#include <stack>
using namespace std;
int main ()
{
stack< int > mystack;
int sum (0);
for ( int i=1;i<=10;i++) mystack.push(i);
while (!mystack.empty())
{
sum += mystack.top();
mystack.pop();
}
cout << "total: " << sum << endl;
return 0;
}
|
c++ stl棧stack用法程式碼舉例3
// stack::push/pop
#include <iostream>
#include <stack>
using namespace std;
int main ()
{
stack< int > mystack;
for ( int i=0; i<5; ++i) mystack.push(i);
cout << "Popping out elements..." ;
while (!mystack.empty())
{
cout << " " << mystack.top();
mystack.pop();
}
cout << endl;
return 0;
}
|
c++ stl棧stack用法程式碼舉例4
#include <iostream>
#include <stack>
using
namespace
std;
int
main ()
{
stack<
int
> mystack;
for
(
int
i=0; i<5; ++i) mystack.push(i);
cout <<
"Popping out elements..."
;
while
(!mystack.empty())
{
cout <<
" "
<< mystack.top();
mystack.pop();
}
cout << endl;
return
0;
}
文章摘自 http://www.169it.com/article/2839007600903800247.html