原型:
stack<T> st; //声明 st.empty();
参数:
No parameter passed
返回类型:布尔型(True或False)
正确:堆栈为空
False:堆栈不为空
包含的头文件:
#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 IF (st.empty()) Print "Stack is empty" Else Print "Stack is not empty" Output: Prints "Stack is not empty" st.pop() st.pop() Stack content: Empty stack IF (st.empty()) Print "Stack is empty" Else Print "Stack is not empty" Output: Prints "Stack is empty"
C ++实现:
#include <bits/stdc++.h> using namespace std; int main(){ cout<<"...use of empty function...\n"; int count=0; stack<int> st; //声明栈 st.push(4); //推4- st.push(5); //推5- st.push(6); 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<<count<<" pop operation performed total to make stack empty\n"; return 0; }
输出结果
...use of empty function... stack elements are: top element is:6 top element is:5 top element is:4 stack empty 3 pop operation performed total to make stack empty