当前位置:   article > 正文

数据结构(C语言) 循环队列的表示和实现_c语言写出循环队列的储存表示,循环队列储存空间的初始分配量为100

c语言写出循环队列的储存表示,循环队列储存空间的初始分配量为100

循环队列

当队列不可再继续插入新的队尾元素(数组越界),此事又不宜进行存储再分配扩大数组空间,队列实际空间未占满,巧妙的办法就是将顺序队列臆造为一个环状的空间。

循环队列的存储结构
//----循环队列----
typedef struct {
   
	QElemType* base;//初始化的动态分配存储空间
	int front;//头指针,若队列不空,指向队列头元素
	int rear;//尾指针,若队列不空,指向队列尾元素的下一个位置
}SqQueue;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
基本操作的函数原型说明
Status InitQueue(SqQueue& Q);
//构造一个空队列Q
int QueueLength(SqQueue Q);
//返回Q的元素个数,即队列的长度
Status EnQueue(SqQueue& Q, QElemType e);
//插入元素e为Q的新的队尾元素
Status DeQueue(SqQueue& Q, QElemType& e);
//若队列不空,则删除Q的队头元素,用e返回其值,并返回OK;否则返回ERROR
void PrintQueue(SqQueue Q);
//打印队列
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
基本操作的函数原型说明
//----基本操作的函数原型说明----
Status InitQueue(SqQueue& Q);
//构造一个空队列Q
int QueueLength(SqQueue Q);
//返回Q的元素个数,即队列的长度
Status EnQueue(SqQueue& Q, QElemType e);
//插入元素e为Q的新的队尾元素
Status DeQueue(SqQueue& Q, QElemType& e);
//若队列不空,则删除Q的队头元素,用e返回其值,并返回OK;否则返回ERROR
void PrintQueue(SqQueue Q);
//打印队列

//----基本操作的算法描述----
Status InitQueue(SqQueue& Q)
{
   
	Q.base = (QElemType*)malloc(MAXQSIZE * 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/646438
推荐阅读
相关标签
  

闽ICP备14008679号