数据结构之栈(顺序存储2)

顺序存储方式2:

#include <stdio.h>
#include <stdlib.h>

#define MAX_SIZE 128

typedef int ElemType;
typedef struct _SqStack
{
	int top;
	ElemType* base;
}SqStack;

//初始化栈
bool initStack(SqStack& S)
{
	S.base = new ElemType[MAX_SIZE];
	if (!S.base) return false;
	S.top = 0;
	return true;
}

//判断栈是否为空
bool isEmpty(SqStack& S)
{
	if (S.top == 0) return true;
	return false;
}

//判断是否为满
bool isFull(SqStack& S)
{
	if (S.top == MAX_SIZE) return true;
	return false;
}

//压栈
bool pushStack(SqStack& S, ElemType elem)
{
	if (isFull(S)) return false;
	S.base[S.top++] = elem;
	return true;
}

//出栈
bool popStack(SqStack& S, ElemType& elem)
{
	if (isEmpty(S)) return false;
	elem = S.base[--S.top];
	return true;
}

//取栈顶
bool getTop(SqStack& S, ElemType& elem)
{
	if (isEmpty(S)) return false;
	elem = S.base[S.top - 1];
	return true;
}

//元素个数
int getSize(SqStack& S)
{
	return S.top;
}

//销魂栈
void destoryStack(SqStack& S)
{
	if (S.base)
	{
		delete S.base;
		S.base = NULL;
	}
	S.top = 0;
}

int main()
{
	SqStack S;
	ElemType elem=-1;
	if (initStack(S))
		printf("栈初始化成功,开始压栈...\n");
	for (int i = 0; i < 6; i++)
	{
		if (pushStack(S, i + 10))
			printf("元素[%d],成功压栈\n", i + 10);
	}
	printf("元素个数:%d\n", getSize(S));

	for (int i = 0; i < 6; i++)
	{
		if (popStack(S, elem))
			printf("元素[%d],成功出栈\n", elem);
	}
	printf("元素个数:%d\n", getSize(S));
	destoryStack(S);
	system("pause");
	return 0;
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
牙科就诊管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线查看数据。管理员管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等功能。牙科就诊管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 管理员在后台主要管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等。 牙医列表页面,此页面提供给管理员的功能有:查看牙医、新增牙医、修改牙医、删除牙医等。公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。药品管理页面,此页面提供给管理员的功能有:新增药品,修改药品,删除药品。药品类型管理页面,此页面提供给管理员的功能有:新增药品类型,修改药品类型,删除药品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值