银行排队系统c语言
时间: 2023-12-15 14:03:29 浏览: 65
好的,银行排队系统可以用C语言来实现。下面是一个简单的示例代码,可以实现基本的排队功能:
```
#include <stdio.h>
#include <stdlib.h>
#define MAX_QUEUE_SIZE 50
typedef struct {
int data[MAX_QUEUE_SIZE];
int front;
int rear;
} Queue;
void initQueue(Queue *q) {
q->front = q->rear = 0;
}
int isEmpty(Queue *q) {
return q->front == q->rear;
}
int isFull(Queue *q) {
return (q->rear + 1) % MAX_QUEUE_SIZE == q->front;
}
void enQueue(Queue *q, int x) {
if (isFull(q)) {
printf("Queue is full!\n");
return;
}
q->data[q->rear] = x;
q->rear = (q->rear + 1) % MAX_QUEUE_SIZE;
}
int deQueue(Queue *q) {
if (isEmpty(q)) {
printf("Queue is empty!\n");
return -1;
}
int x = q->data[q->front];
q->front = (q->front + 1) % MAX_QUEUE_SIZE;
return x;
}
int main() {
Queue q;
initQueue(&q);
// 模拟排队过程
enQueue(&q, 1);
enQueue(&q, 2);
enQueue(&q, 3);
enQueue(&q, 4);
printf("Current queue: ");
while (!isEmpty(&q)) {
printf("%d ", deQueue(&q));
}
printf("\n");
return 0;
}
```
该代码中使用了循环队列来实现排队功能,可以根据需要进行修改和扩展。