C ++ STL中的stack :: size()函数

原型:

    stack<T> st; //声明
    int st.size();

参数:

    No parameter passed

返回类型: int

包含的头文件:

    #include <iostream>
    #include <stack>
    OR
    #include <bits/stdc++.h>

用法:

该函数返回堆栈的当前大小。

时间复杂度:O(1)

示例

    For a stack of integer,
    stack<int> st;
    st.push(4);
    st.push(5);
    stack content:
    5 <-- TOP
    4

    int temp=st.size() //2---
    Print temp//显示当前堆栈大小的2-

C ++实现:

#include <bits/stdc++.h>
using namespace std;

int main(){
    cout<<"...use of size function...\n";
    int count=0;
    stack<int> st; //声明栈
    st.push(4); //推4-
    st.push(5); //推5-
    st.push(6);
    cout<<"stack size is: "<<st.size()<<endl; //大小功能
    cout<<"stack elements are:\n";
    while(!st.empty()){//堆栈不为空
        cout<<"top element is:"<<st.top()<<endl;//打印顶部元素
        st.pop();
        count++;
    }
    if(st.empty())
    cout<<"stack empty\n";
    cout<<"stack size is: "<<st.size()<<endl; //大小功能
    cout<<count<<" pop operation performed total to make stack empty\n";
	
    return 0;   
}

输出结果

...use of size function...
stack size is: 3
stack elements are:
top element is:6
top element is:5
top element is:4
stack empty
stack size is: 0
3 pop operation performed total to make stack empty