版权声明:免费赠送更多微商营销课程,请关注公众号[开店]! https://blog.csdn.net/gzw1623231307/article/details/54562683
栈就好比手枪,是手里的手枪,噢不,是真的手枪,金属的,不是你下面那个手枪。
当我们把子弹塞进手枪里的时候,最后一颗子弹,是最先发射出去的子弹。这就是栈的原理。
Last in last out,后入先出,是官方定义,也许你觉得这并不好记,那就记住手枪就好了,本文的目的就是让你不要把栈和其他东西搞混(我还没学其他东西,怎么搞混?)
hhh~
下面是我的第一个栈,新手程序,可能不标准,但是最容易理解的那个咯。
这是我的杂交程序,c和c++杂交出来的,仅仅用到了C++的输入输出而已,因为也是c++的菜鸟,我还不会new delete呢。
#include <iostream>
#include <stdlib.h>
struct mystack
{
int size = 2000;//这是栈的大小 ,容量。
int *top; //栈顶指针
int *bottom; //栈底指针
}stack;
int main()
{
int n;
std::cin>> n; //输入的数作为自动创建栈的参数
stack.top = (int *)malloc(2000*sizeof(int)); //初始化一块内存用来存数据
stack.bottom = stack.top; //栈底 = 栈顶 表示栈为空。
for(int i = 1; i <= n; i++)
{
*stack.top = i; //把 i复制进去
stack.top++; //栈顶指针上移
}
for(int i = 1; i <= n; i++)
{
stack.top--;
std::cout<< *stack.top<< " ";
}
//输出
return 0;
}