#include<iostream>
//顺序队列
#define maxSize 100
using namespace std;
typedef struct
{
int data[maxSize];
int front;
int rear;
}SqQueue;
void initQueue(SqQueue &qu)
{
qu.front=qu.rear=0;
}
int QueueEmpty(SqQueue qu)
{
if(qu.front==qu.rear)
return 1;
else
return 0;
return 2;
}
//进队rear向后移动,出队front向后移动
int enQueue(SqQueue &qu,int x)
{
if((qu.rear+1)%maxSize==qu.front)//顺序队列队满的条件
return 0;
qu.rear=(qu.rear+1)%maxSize;//队尾指针rear后移
x=qu.data[qu.rear];
return 1;
}
int deQueue(SqQueue &qu,int &x)
{
if(qu.front==qu.rear)
return 0;
qu.front=(qu.front+1)%maxSize;//front后移
x=qu.data[qu.front];
return 1;
}
int main()
{
SqQueue Queue1;//Queue1相当于数组名
initQueue(Queue1);
QueueEmpty(Queue1);
int a=5;
enQueue(Queue1,a);
int b=0;
deQueue(Queue1,b);
return 0;
}
顺序队列的算法操作
原创
©著作权归作者所有:来自51CTO博客作者盼盼编程的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
java面试算法题:如何使用栈去实现队列
java面试算法题:如何使用栈去实现队列
出队 入栈 时间复杂度 -
队列之顺序队基本操作
/* 队列是一种操作受限的线性表,其限制为仅允许在表的一端插入,在表的另一端进行删除。。*/#in
线性表 栈 队列 数据结构 出队 -
顺序队列基本操作
#include "stdafx.h"#include "stdio.h"#include "stdlib.h"#define
顺序队列 链式队列 出队 数据 #define -
java后台修改密码需要显示密码吗
java web项目总文档目录第一章 概述.................................................................................................................................... 1  
java后台修改密码需要显示密码吗 java 数据库 javascript ViewUI -
mysql select count 默认值
问题描述 需求:查询出每月 order_amount(订单金额) 排行前3的记录。例如对于2019-02,查询结果中就应该是这3条: 解决方法MySQL 5.7 和 MySQL 8.0 有不同的处理方法。1. MySQL 5.7我们先写一个查询语句。根据 order_date 中的年、月,和order_amount进行降序排列。然后,添加一个新列:order_amount(
mysql 查询不到记录取默认值 mysql 每个分类取5条 mysql分组查询 mysql查询本月第一周 order by 子查询