数据结构算法实现

数据结构算法实现,第1张

1.顺序栈的定义:

#define MaxSize 50
typedef struct{
	ElemType data[MaxSize]; //存放数据元素
	int top; //栈顶指针,初始值为-1
}SqStack;
//有的书会加入一个栈底指针,都能达到最终目的,但是后面的几个函数需要改变判断条件

2.顺序栈的初始化:

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

3.判断顺序表是否为空:

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

4.进栈:

int Push(SqStack &S, ElemType e){
	if(S.top >= MaxSize - 1) return ERROR;
	S.top += 1;
	S.data[S.top] = e;
	return OK;
}

5.出栈:

int Pop(SqStack &S, ElemType &e){
	if(S.top == -1) return ERROR;
	e = S.data[S.top];
	S.top -= 1;
	//上两步也可以写为 e = S.data[S.top—-];
	return OK;
}

6.读取栈顶元素:

int GetTop(SqStack S, ElemType &e){
	if(S.top == -1) return ERROR;
	e = S.data[S.top];
	return OK;
}

7.销毁栈:(释放储存空间)

int DestoryStack(SqStack S){
	//以后再来写
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/607677.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-14
下一篇 2022-04-14

发表评论

登录后才能评论

评论列表(0条)

保存