数据结构——栈(c++)
1.栈的意义
- 栈·(stack) 是一种线性存储结构,只能在一端进行删除,插入,查询;且这一端叫做栈顶,不可操作的另一端叫做 栈底。
- 在栈中,插入叫做压栈,删除叫做弹栈,
- 栈可以类似的看为一摞,摞起来的碗;只能从上往下一个一个取出,不能从中间或底部抽出;如图:
2.栈的基本操作
(1)定义一个栈:
stack< int > st;
- “stack” 是关键字;
- “< int >” 是栈的类型;
- “st” 是栈的名字;
(2)基本操作
st.empty();
st.push(num);
st.pop();
st.top();
st.size();
- 用法:栈的名字+“.”+操作名称+“( )”;( )是必须要加的,否则会判错;
- .empty() 是bool函数,判断栈是否为空,简称判栈空,返回1或0 空为1;否则为0;
- .push() 是void函数,负责压栈,往栈里面扔数,操作方法:只需要把数放进()里面;
- .pop() 是void函数,负责弹栈,把栈顶弹出,不返回数;
- .top() 是int函数,返回栈顶的元素;
- .size() 是int函数,返回栈的个数;
3.栈的优点;
- 存入,输出,很快;