c语言排队系统
时间: 2023-12-15 11:04:51 浏览: 16
排队系统通常需要使用队列数据结构来实现。在C语言中,可以通过结构体来定义一个队列。下面是一个简单的排队系统的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_QUEUE_SIZE 100
// 定义队列结构体
typedef struct {
int data[MAX_QUEUE_SIZE];
int front;
int rear;
} Queue;
// 初始化队列
void initQueue(Queue *queue) {
queue->front = queue->rear = 0;
}
// 判断队列是否为空
int isEmptyQueue(Queue *queue) {
return queue->front == queue->rear;
}
// 判断队列是否已满
int isFullQueue(Queue *queue) {
return (queue->rear + 1) % MAX_QUEUE_SIZE == queue->front;
}
// 入队操作
void enQueue(Queue *queue, int x) {
if (isFullQueue(queue)) {
printf("队列已满,无法入队!\n");
return;
}
queue->data[queue->rear] = x;
queue->rear = (queue->rear + 1) % MAX_QUEUE_SIZE;
}
// 出队操作
int deQueue(Queue *queue) {
if (isEmptyQueue(queue)) {
printf("队列为空,无法出队!\n");
return -1;
}
int x = queue->data[queue->front];
queue->front = (queue->front + 1) % MAX_QUEUE_SIZE;
return x;
}
int main() {
Queue queue;
initQueue(&queue);
enQueue(&queue, 1);
enQueue(&queue, 2);
enQueue(&queue, 3);
printf("当前队列中的元素为:");
while (!isEmptyQueue(&queue)) {
printf("%d ", deQueue(&queue));
}
printf("\n");
return 0;
}
```
在这个例子中,我们定义了一个队列结构体,包含一个整型数组和队列的头尾指针。然后,我们实现了初始化队列、判断队列是否为空、判断队列是否已满、入队、出队等操作。在main函数中,我们先初始化队列,然后依次将元素1、2、3入队,并依次出队并输出队列中的元素。