前言
描述都在代码上
运行通过的环境是:vs2019和DevC++
一、具体函数
1,出队操作
2,入队操作
3,队列初始化
4,队列是否为空
有返回值的函数中,返回0代表操作失败,返回1代表操作成功
二、完整代码
1.代码
代码如下(示例):
#include<iostream>
#define QueueSize 100//设置数组大小
typedef int Datatype;//定义int的别名是Datatype
using namespace std;
/*
顺序表实现队列
队列头指针出去,插入到队尾
*/
typedef struct Sequeue {
Datatype queue[QueueSize];//创建100长度的队列
int front, rear;//队头指针,队尾指针
};
void InitQueue(Sequeue *q) {
q->front = q->rear = -1;//将队头队尾的指针都指向-1
}
int QueueEmpty(Sequeue *q) {
if (q->front ==q->rear) {//队头,队尾都为-1就是空
return 1;
}
else {
return 0;
}
}
int EnQueue(Sequeue* q,Datatype x) {
if (q->rear==QueueSize-1) {//如果头指针位置是99代表这个队列满了
cout << "队满" << endl;
return 0;
}
else {
q->rear++;//尾指针加1
q->queue[q->rear] = x;//将加入的数添进去
return 1;
}
}
int DelQueue(Sequeue*q,Datatype *e) {//删除
if (q->front == q->rear) {//头指针和尾指针重合就是队空的时候
cout << "队空" << endl;
return 0;
}
else {
q->front += 1;//先前进一个位置
*e = q->queue[q->front ];//这个位置是被删除的元素
}
return 1;
}
}
总结
有用的话,点个
呐