我的第一个栈

版权声明:免费赠送更多微商营销课程,请关注公众号[开店]! 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;
}

猜你喜欢

转载自blog.csdn.net/gzw1623231307/article/details/54562683
今日推荐