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

手写栈(c++)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

手写栈(c++)

目录

1.功能

2.功能模块

3.全局代码


1.功能

1)push,入栈

2)pop,弹栈

3)top,取栈顶元素

4)empty,判空

2.功能模块

1)定义结构体

typedef struct stack
{
	int top;
	int* data;
	int length;
}Stack;

2)push,入栈

//push, 将元素推入栈
status push_stack(Stack& S,int tmp)
{
	if(!S.data)
	{
		return ERROR;
	}
	if(S.length == MAXSIZE)
	{
		cout << "栈区元素已满" << endl;
	}
	S.top++;
	S.data[S.top] = tmp;
	S.length++;
	return OK;
}

3)pop,弹栈

//pop, 将元素弹出栈
status pop_stack(Stack& S)
{
	if(!S.data)
	{
		return ERROR;
	}
	if(S.length == 0)
	{
		cout << "栈区为空" << endl;
	}
	S.top--;
	S.length--;
	return OK;
} 

4)top,取栈顶元素

//top, 取栈顶的元素
int top_stack(Stack S)
{
	if(!S.data)
	{
		return ERROR;
	}
	if(S.length == 0)
	{
		cout << "栈区为空" << endl;
	}
	return S.data[S.top];
}

5)empty,判空

//empty,判空
bool empty(Stack S)
{
	if(!S.data)
	{
		exit(OVER);
	}
	if(S.length != 0)
	{
		return true;
	}
	return false;
} 

3.全局代码
#include 
using namespace std;
#define OK 1
#define ERROR 0
#define OVER -1
#define MAXSIZE 100
typedef int status;
typedef struct stack
{
	int top;
	int* data;
	int length;
}Stack;
status init_stack(Stack& S)
{
	S.data = new int[MAXSIZE];
	S.top = -1;
	S.length = 0;
	return OK;
}
//push, 将元素推入栈
status push_stack(Stack& S,int tmp)
{
	if(!S.data)
	{
		return ERROR;
	}
	if(S.length == MAXSIZE)
	{
		cout << "栈区元素已满" << endl;
	}
	S.top++;
	S.data[S.top] = tmp;
	S.length++;
	return OK;
}
//pop, 将元素弹出栈
status pop_stack(Stack& S)
{
	if(!S.data)
	{
		return ERROR;
	}
	if(S.length == 0)
	{
		cout << "栈区为空" << endl;
	}
	S.top--;
	S.length--;
	return OK;
} 
//top, 取栈顶的元素
int top_stack(Stack S)
{
	if(!S.data)
	{
		return ERROR;
	}
	if(S.length == 0)
	{
		cout << "栈区为空" << endl;
	}
	return S.data[S.top];
}
//empty,判空
bool empty(Stack S)
{
	if(!S.data)
	{
		exit(OVER);
	}
	if(S.length != 0)
	{
		return true;
	}
	return false;
} 
int main()
{
	return 0;
}

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

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号