c语言银行排队管理系统队列实现
时间: 2023-08-05 13:07:32 浏览: 113
好的,下面是一份简单的 C 语言代码,实现了银行排队管理系统队列的基本功能:
```c
#include <stdio.h>
#define MAXSIZE 100 // 定义队列的最大长度
// 定义队列结构体
typedef struct {
int data[MAXSIZE];
int front; // 队头指针
int rear; // 队尾指针
} Queue;
// 初始化队列
void initQueue(Queue *q) {
q->front = 0;
q->rear = 0;
}
// 判断队列是否为空
int isEmpty(Queue *q) {
return q->front == q->rear;
}
// 判断队列是否已满
int isFull(Queue *q) {
return q->rear == MAXSIZE;
}
// 入队
int enqueue(Queue *q, int x) {
if (isFull(q)) {
return 0;
}
q->data[q->rear++] = x;
return 1;
}
// 出队
int dequeue(Queue *q) {
if (isEmpty(q)) {
return 0;
}
int x = q->data[q->front++];
return x;
}
// 获取队头元素
int getFront(Queue *q) {
if (isEmpty(q)) {
return 0;
}
return q->data[q->front];
}
// 获取队列长度
int getLength(Queue *q) {
return q->rear - q->front;
}
int main() {
Queue q;
initQueue(&q);
// 入队
enqueue(&q, 1);
enqueue(&q, 2);
enqueue(&q, 3);
// 出队
printf("%d\n", dequeue(&q));
// 获取队头元素
printf("%d\n", getFront(&q));
// 获取队列长度
printf("%d\n", getLength(&q));
return 0;
}
```
上述代码中,我们使用结构体 `Queue` 来定义队列,其中 `data` 数组用来存放队列元素,`front` 和 `rear` 分别表示队头和队尾的指针。`initQueue` 函数用来初始化队列,`isEmpty` 和 `isFull` 函数用来判断队列是否为空或已满,`enqueue` 函数用来将元素入队,`dequeue` 函数用来将元素出队,`getFront` 函数用来获取队头元素,`getLength` 函数用来获取队列长度。
在 `main` 函数中,我们先使用 `initQueue` 函数初始化队列,然后使用 `enqueue` 函数将元素 1、2、3 入队,接着使用 `dequeue` 函数将队头元素 1 出队,并使用 `getFront` 函数获取队头元素 2,最后使用 `getLength` 函数获取队列长度。
阅读全文