成都创新互联网站制作重庆分公司

数据结构-stack的基本操作

包括三个文件:stack.h,stack.cpp,main.cpp

我们提供的服务有:成都网站设计、做网站、微信公众号开发、网站优化、网站认证、凌云ssl等。为数千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的凌云网站制作公司

stack.h

#include "stdio.h"
#include 
#include 
#include 

#define Status int
#define SElemType int
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
#define OVERFLOW 0
#define ERROR 0
#define OK 1
//
typedef struct
{
        SElemType *base;        //指向栈尾
        SElemType *top;         //指向栈顶
        int stacksize;          //记录栈元素个数
}SqStack;
//
//
//栈的基本操作
//
//初始化栈		
Status InitStack(SqStack &S);
	//返回1,表示成功;返回0表示不成功
//判栈满
Status IsFull(SqStack &S);
//判栈空
Status IsEmpty(SqStack &S);
	//如空,返回1;非空返回0
//入栈
Status Push(SqStack &S,SElemType e);

//出栈
Status Pop(SqStack &S,SElemType &e);
//显示栈元素
Status StackTraverse(SqStack &S);
//访问栈顶
Status GetTop(SqStack &S,SElemType &e);
//求栈长度
int StackLength(SqStack &S);

//清空栈
Status ClearStack(SqStack &S);
//销毁栈
Status DestroyStack(SqStack &S);


stack.cpp

#include "stack.h"
#include "stdio.h"
#include 
#include 
#include 
using namespace std;

//栈的基本操作
//
////初始化栈
Status InitStack(SqStack &S)
{       //构造一个空栈
        S.base =(SElemType*)malloc(STACK_INIT_SIZE * sizeof(SElemType));
        if(!S.base) return(OVERFLOW);
        S.top=S.base;
        S.stacksize=STACK_INIT_SIZE;
        return OK;
}
//判栈满
Status IsFull(SqStack &S)
{	//若满返回1,否则返回0
	if((S.top-S.base)>= S.stacksize) //若栈满
	{	//cout<<"栈满"<


main.cpp

#include 
#include "stack.h"

using namespace std;


int main()
{
/*
        SqStack sta;
        InitStack(sta);

		cout<>N;
	SqStack sta;
	InitStack(sta);
	while(N!=0)
	{
		Push(sta,N%2);		//求余
		N=N/2;				//整除
	}
	//StackTraverse(sta);
	cout<<"对应的二进制为:"<




文章标题:数据结构-stack的基本操作
文章起源:http://cxhlcq.com/article/ihhigi.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部