栈的实现

一、栈

栈是一种运算受限的线性表。栈只允许在一端对数据进行操作,这一端被称为栈顶。相应的,栈的另一端被称为栈底。
栈可以想象为类似子弹匣的结构,元素只能从一端进入或弹出,先入栈的元素被最后弹出。

以下为该数据结构操作实现过程:

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实现,具体操作函数封装在库中。

点赞