stack-all stack functions

////////////////////////////////////////
//      2018/05/08 22:37:04
//      stack-all stack functions

// the C++ stack is a container adaoter that gives the programer the functionality 
// of a stack -- specifically,a FILO(first in, last-out) date structore.

// push.pop,size,top,empty

#include <iostream>
#include <stack>
#include <vector>
#include <algorithm>
#include <numeric>
#include <iterator>

using namespace std;

int main(){
    vector<int> v1(5), v2(5), v3(5);

    iota(v1.begin(),v1.end(),0);
    iota(v2.begin(),v2.end(),5);
    iota(v3.begin(),v3.end(),10);

    stack<vector<int>> s;
    s.push(v1);
    s.push(v2);
    s.push(v3);

    cout << "size of stack 's' = " << s.size() << endl;

    if (v3.size() != 2){
        s.pop();
    }

    cout << "size of stack 's' = " << s.size() << endl;
    vector<int> top = s.top();
    cout << "Contents of v2:";
    copy(v2.begin(),v2.end(), ostream_iterator<int>(cout, " "));
    cout << endl;

    while (!s.empty()){
        s.pop();
    }

    cout << "Stack 's' is " << (s.empty() ? "" : "not") << "empty." << endl;

    return 0;
}


/*
OUTPUT:
    size of stack 's' = 3
    size of stack 's' = 2
    Contents of v2:5 6 7 8 9
    Stack 's' is empty.
*/ 
原文地址:https://www.cnblogs.com/laohaozi/p/12537812.html