欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

栈的数组实现

程序员文章站 2024-01-28 17:02:28
...

栈的数组实现

把栈底固定在数组的底部(下标值大的一端),而让栈顶向数组的顶部(下标值小的一端)浮动。并由一个游标top指示当前栈顶元素的位置。
struct STACK{
int top;/*用来标识栈顶元素的下标位置*/
Elementtype elements[maxlength];/*存放数据元素的数组*/
};
void MakeNull(){
/*将栈S置为空*/
S.top = maxlength;/*将栈顶*/
}
boolean Empty(STACK S){
/*测试栈S是否为空*/
if(S.top > maxlength - 1)
	return TRUE;
else
	return FALSE;
}
Elementtype Top(STACK S){
/*返回栈S的栈顶元素*/
if(Empty(S))
	return NULL;
else
	return (S.elements[S.top]);
}
void Pop(STACK &S){
/*出栈*/
if(Empty(S))
	error("stack is empty");
else
	S.top++;

}
void Push(Elementtype x,STACK &S){
/*入栈*/
if(s.top == 0)
	error("stack is full");
else
	S.top--;
	S.elements[S.top] = x;
	
}

栈的数组实现