⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wq.cpp

📁 这是我刚刚学习了堆栈的数据结构以后所建立的一个关于堆栈的程序
💻 CPP
字号:
#include<stdio.h>
#include<malloc.h>

#define stack_init_size 100
#define increament 10

#define overflow -1
#define ok 1
#define error 0

typedef int Status;

typedef struct 
{
	int *base;
	int *top;
	int stracksize;
}sqstrack;

Status Initstack(sqstrack &S)
{
	S.base=(int*)malloc(stack_init_size*sizeof(int));
	if(!S.base) return overflow;
	S.top=S.base;
	S.stracksize=stack_init_size;
	return ok;
}
Status push(sqstrack &S,int e)
{
	if(S.top-S.base>=S.stracksize)
	{
		S.base=(int*)realloc(S.base,(S.stracksize+increament)*sizeof(int));
		if(!S.base) return overflow;
		S.top=S.base+S.stracksize;
		S.stracksize+=increament;
	}
	*S.top++=e;
	return ok;
}

Status pop(sqstrack &S,int &e)
{
	if(S.base==S.top) return error;
	e=*(--S.top);
	return e;
}

        
Status Createstack(sqstrack &S)
{
	int n,i,a;
	printf("输入你要压入堆栈的数据的个数:");
	scanf("%d",&n);
	printf("输入你要压入的数据:");
    for(i=0;i<n;i++)
	{
		scanf("%d",&a);
		push(S,a);
	}
	return ok;
}

main()
{
	sqstrack S;
	Initstack(S);
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -