Chinaunix首页 | 论坛 | 博客
  • 博客访问: 487227
  • 博文数量: 76
  • 博客积分: 5196
  • 博客等级: 大校
  • 技术积分: 1414
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-10 18:43
个人简介

转了个圈,又回来了

文章分类

全部博文(76)

文章存档

2013年(1)

2011年(8)

2010年(9)

2009年(22)

2008年(36)

我的朋友

分类: 嵌入式

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。其他的都一样的。
 
 
阅读(918) | 评论(0) | 转发(0) |
0

上一篇:循环链表--链队

下一篇:

给主人留下些什么吧!~~