转了个圈,又回来了
分类: 嵌入式
2009-11-22 09:53:10
堆栈:准确来讲应该叫栈。它是一种能在表的一端进行插入和删除的线性表。而在表的另外一端是不能进行操作的。
下面是对顺序栈的定义:
#define maxsize 1024
typedef int datatype;
typedef struct _sqstack
{
datatype data[maxsize];
int top; //堆栈中栈顶位置,当top = -1 时代表栈空。
}sqstack, *psqstack;
顺序栈是个很容易实现的,主要操作有:置空栈,判断栈空,入栈,出栈。
同样,栈也可以采用链式的存储结构。
typedef struct _snode
{
datatype data;
struct snode *next;
} linkstack, *plinkstack;
链栈也有和顺序栈相同的操作,不同的地方在判断栈空的时候,顺序栈是判断top = -1,而链栈是判断top = NULL。其他的都一样的。