首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

数据结构(六)之队列

2013-10-08 
数据结构(6)之队列1 前言上一节我们介绍了线性表,今天我们来介绍一下队列。2 详述栈(stack)是限定仅在表尾

数据结构(6)之队列
1 前言

    上一节我们介绍了线性表,今天我们来介绍一下队列。

2 详述

    栈(stack)是限定仅在表尾进行插入和删除操作的线性表。

允许插入和删除的一段称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构。

栈的插入操作,叫做进栈,也称压栈,入栈。

栈的删除操作,叫做出栈,也叫做弹栈。

数据结构(六)之队列

2.1 栈的抽象数据类型

2.2.1 进栈操作

 

2.2.2 出栈操作

结构代码如下:

/*若栈不空,则删除S的栈顶元素,用e返回值,并返回OK;否则返回ERROR*/Status Pop(LinkStack *S,SElemType *e){    LinkStackPtr p;    if(StackEmpty(*S))         return ERROR;    *e = S->top->data;    p = S->top;     /*将栈顶结点赋值给p,如图3*/    S->top = S->top->next;   /*使得栈顶指针下移一位,指向后一结点,如图4*/    free(p);      /*释放结点p*/    S->count--;    return OK;    }

如果栈的使用过程中元素变化不可预料,有时很小,有时很大,那么最好用链栈,反之,如果它的变化在可控范围内,建议使用顺序栈会更好一些。

3 结语

以上是所有内容,希望对大家有所帮助。

热点排行