栈和队列

从数据结构角度看,栈和队列也是线性表,其特征性在于栈和队列的基本操作是线性表操作的子集。
栈:  【LIFO】后进先出
队列:【FIfO】先进先出

和线性表类似,栈也有两种存储方式,顺序栈和链式栈

顺序栈:一般来说,在初始化空栈时不应该限定栈的最大容量。
        应该先为栈分配一个基本容量,然后在应用过程中,当栈的空间不够使用时再逐步扩大。

        书上没有链式栈的实现
队列:1.链式队列
      2.循环队列(顺序实现 P64)

       循环队列在‘满’或者‘空’的时候都Q.rear==Q.front,有两种区别方法:
       其一:另外设一个标志位以记录队列中的元素个数 
       其二:少用一个元素空间,约定以“队列头指针 在 队列尾指针的下一个位置(环形的下一位置)”,
             作为队列呈满的标志。

typedef struct{
     Elemtype *base;
     int front;  //和链式的区别,这里相当于‘下标’,而链式的则是指针。
     int rear;
}SqQueue;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值