ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

基础B(栈)(第?课)

基础B(栈)(第?课) 1.前言你问我标题为什么是基础B而不是提高A那我只能告诉你。我忘了这篇文章主要是回顾栈的内容毕竟是一年前的知识了有点遗忘所以如有错误请大家在评论区指出我会修改的。2.正文2.1栈的介绍栈是一种只能从一端进行操作并遵守先进后出LIFO原则的储存结构。栈的操作仅限于一端这一端被称为栈顶另外一端就被称为栈底。2.2栈的基本术语在栈中添加元素叫“入栈”Push而在栈中删除元素则叫“出栈”Pop。2.3栈的原则间接导致的结果由于栈遵守先进后出LIFO的原则所以一般最先进的元素最后出最后进的元素最先出。2.4栈的形象理解可以将栈里的元素比作纸或衣服等东西最先放进的纸或衣服在最底下而最后放进的纸或衣服就在最顶上要在里面找东西必须得把上面的纸或衣服拿掉才好找。2.5栈的具体代码操作都在代码里#includebits/stdc.h using namespace std; int z[10005];//栈数组 int pop0;//栈顶 int main() { int n,x; cinn; for(int i1;in;i) { cinx; pop; z[pop]x; } /*如果n是3x分别等于1、3、5 那么z[1]1 z[2]3 z[3]5 pop3*/ pop--;//出栈 /*出完栈后pop2 那么z[pop]就等于3*/ coutz[pop]; return 0; }如果还要进栈那么pop就不用动在出栈和入栈的次数相等时#includebits/stdc.h using namespace std; int z[10005];//栈数组 int pop0;//栈顶 int main() { int n,x; cinn; for(int i1;in;i) { cinx; pop; z[pop]x; } /*如果n是3x分别等于1、3、5 那么z[1]1 z[2]3 z[3]5 pop3*/ cinx; z[pop]x;//本来要出栈pop减一的由于还要入栈所以直接把z[pop]替换成要入栈的元素即可 /*出完栈后pop2 那么z[pop]就等于3*/ coutz[pop]; return 0; }逃新手小白提高A
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进