一、栈
栈是一种运算受限的线性表。栈只允许在一端对数据进行操作,这一端被称为栈顶。相应的,栈的另一端被称为栈底。
栈可以想象为类似子弹匣的结构,元素只能从一端进入或弹出,先入栈的元素被最后弹出。
以下为该数据结构操作实现过程:
1.栈的定义
DataType Stack[Size];
int top = 0; //栈顶为0,表示空栈
2.判断栈是否为空和满
栈空:
bool isStuckEmpty()
{
if(top==0) return true;
return false;
}
栈满:
bool isStuckFull()
{
if(top==size-1)return true;
return false;
}
4.从栈顶插入元素
bool push(DataType data)
{
if(isStuckFull())return false;
Stack[top] = data;
top++;
return true;
}
5.从栈顶删除元素
bool pop()
{
if(isStuckEmpty)return false;
top--;
}
6.查询元素
DataType findTop()
{
return Stuck[top];
}
注:C++中栈可以用内置的STL实现,具体操作函数封装在库中。