栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > C/C++/C#

王道数据结构——顺序栈

C/C++/C# 更新时间:发布时间: 百科书网 趣学号

栈的顺序存储

代码如下:

#include
#define Maxsize 10

typedef struct
{
	int data[Maxsize];
	int top;
}SqStack;

void InitStack(SqStack &S)
{
	S.top=-1;
}

bool IsEmpty(SqStack S)
{
	if(S.top==-1) return true;
	else return false;
}

bool Push(SqStack &S,int x)
{
	if(S.top==Maxsize-1) return false;
	S.data[++S.top]=x;
	return true;
}

void Pop(SqStack &S,int &x)
{
	if(S.top==-1)
	{
		printf("栈空!n");
	}
	x=S.data[S.top];
	S.top--;
}

void GetTop(SqStack S,int &y)
{
	y=S.data[S.top];
}

int main()
{
	SqStack S;
	InitStack(S);
	IsEmpty(S);
	
	int push1=Push(S,150);
	if(push1==0) printf("栈满,入栈失败!n");
	int push2=Push(S,500);
	if(push1==0) printf("栈满,入栈失败!n");
	int push3=Push(S,985);
	if(push1==0) printf("栈满,入栈失败!n");
	
	
	
	int x;
	Pop(S,x);
	printf("栈顶出栈元素x===%dn",x);
	
	int y;
	GetTop(S,y);
	printf("当前栈顶元素y===%dn",y);
	
	return 0;
}

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/1033646.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号