在编程语言中怎样定义队列及其使用(C++)

2020-01-06 20:18:04王振洲

编程语言,定义队列,C++

循环队列初始条件:队头指针=队尾指针=0
循环队列队满条件:MOD(队尾指针+1,m)=队头指针
循环队列空条件:队头指针=队尾指针
队头指针推进计算:队头指针=MOD(队头指针+1,m)
队尾指针推进计算:队尾指针=MOD(队尾指针+1,m)

在QueueCycleCs.c文件中定义了结构


#define CDT char
#define CM 5
typedef struct {

  CDT data[CM];
  int front,rear;
}SECYCLEQUEUE;

循环队列上的操作

(1)创建循环队列

初始化队列,队头指针和队尾指针=0.

在QueueCycyleControl.h写出方法声明


#include "QueueCycleCs.c"

/*
 创建循环队列
 */
SECYCLEQUEUE initCycleQueue();

在QueueCycyleControl.c中实现此方法


#include "QueueCycleControl.h"
/*
 创建循环队列
 */
SECYCLEQUEUE initCycleQueue(){
  SECYCLEQUEUE Q;
  //队头指针=队尾指针=0;
  Q.front=Q.rear=0;
  return Q;
}

(2)插入

在QueueCycyleControl.h写出方法声明


#include "QueueCycleCs.c"

/*
 循环队列插入
 */
SECYCLEQUEUE inCycleQueue(SECYCLEQUEUE Q,char x);