数据结构-队列

一.顺序队列SeqQueue

1.顺序队列结构类型的成员:ElemType * base 、int front、int rear、size_t capacity,分别是base指针,头位置,尾位置,容量。和顺序表操作大致一样,只不过队列只能尾部插入,头部删除,只能使用一次,没多大的实际意义。

 2.顺序队列的结构类型表示

 3.出栈只需front++;

4.清理和摧毁函数

二、链队列ListQueue

1.链队列和链表操作大致相同

2.链队列的结构类型:

3.链队列的操作和尾部插入数据,头部出数据。

三、循环队列Cycle Queue (重点)

      循环队列中有 base指针,front头位置,rear尾位置,以及容量capacity

      循环队列需要注意的是判空,判满,留一位不存数据,就可以很清楚地判断空还是满rear指针+1 == front指针,说明队列满了,头指针 == 尾指针,说明队列空的 让其循环起来利用模实现(%),让队列的头找它的尾部。

 

2.循环队列的结构类型表示

3.循环队列的重要函数

1初始化函数

2.入队函数

       首先判断队不满 rear+1 != front, 尾部插入,把x插入到rear所指的空间 qu->base[qu->rear] = x; rear =(rear+1)%max_size;

3.出队函数

         首先队不空,rear != front,再把front+1就行,但是要让循环就需要模max_size front = (front+1)%max_size

4.队列元素个数

        定义一个count = 0用来计数;利用循环,让头去找它的尾,每循环一次计数加1,循环条件 front != rear ; front = (front+1)%max_size.

5.显示函数

6.清除和摧毁函数

       清除只需让队列 头=尾;

    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值