顺序栈知识点
上一个知识点   下一个知识点


本节概述 本节知识点 本节总结

一、顺序栈

顺序栈是使用向量实现的栈。顺序栈的抽象数据类型如下:
// 设栈的类定义为stack,栈元素类型为浮点float类型
enum Boolean {True,False}
#include <assert.h>      // 引入逻辑断言语句
class Stack {
       public:
       float *ElmList; //存放数据元素的指针变量int top;//该变量指示栈顶在该向量的位置,下标值
        // 当新元素压入或栈内容弹出,top值随之增减
        int maxsize;         // 栈的最大长度
        // 构建函数,创建栈的实例,向量空间长度为size
        Stack(int size);
        …
};
    压入栈顶算法如下:
void Stack::Push(float item) {
       // 判非栈满,否则栈溢出,退出运行
        assert(!IsFull());
        top++;       // 栈顶
        ElmList[top] = item;
}
    从栈顶弹出算法如下:
float Stack::Pop() {
       // 判栈非空,否则断言栈空异常,退
       // 出运行
       assert(!IsEmpty());
       return ElmList[top--];
}