【数据结构】(循环队列)间隔报数出列

【数据结构】(循环队列)间隔报数出列_第1张图片

#include < iostream >
#define NUM 8
using namespace std;

typedef struct{

int data[NUM+1];
int front;
int rear;

}SqQueue;

// 初始化循环队列
void initQueue(SqQueue &qu){

qu.front = qu.rear = NUM;  // 初始时指向数组起始下标的前一个 

}

// 判断队列是否为空
int emptyQueue(SqQueue qu)
{

if(qu.front == qu.rear)
    return 1;
else 
    return 0;

}

// 进队
void enQueue(SqQueue &qu,int e)
{

if((qu.rear+1)%NUM==qu.front)
    return;
qu.rear = (qu.rear+1)%NUM;  // 先移动指针,后放数据 
qu.data[qu.rear] = e;

}

// 出队
void deQueue(SqQueue &qu,int &e)
{

if(emptyQueue(qu))
    return;
qu.front = (qu.front+1)%NUM;  // 先移动指针,后放数据 
e = qu.data[qu.front];

}

int main()
{

int a[NUM] = {1,2,3,4,5,6,7,8};
SqQueue Q;
initQueue(Q);
int e;
for(int i=0;i

}

你可能感兴趣的:(数据结构)