一.栈的表示和实现 1.栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵循后进先出LIFO(Last in First Out)的原则。 压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶 出栈:栈的删除操作叫做出栈。出数据也在栈顶 ?2.栈的实现 从上面我们也可以看出来,栈的实现一般可以使用数组或者链表实现,相对而言,其实数组的结构实现更优一些,因为数组在尾上插入数据的代价比较小 ?二、栈的实现 1.栈的声明和定义 根据我们上面的分析,我们决定使用顺序表来实现栈。所以它的声明如下 typedef int STDateType; typedef struct Stack { STDateType* a; int top; int capacity; }Stack; 2.栈的初始化 它的声明如下 //栈的初始化 void StackInit(Stack* ps); 它的函数实现也很简单 //栈的初始化 void StackInit(Stack* ps) {...