C语言队列车厢编组代码
时间: 2023-05-28 20:07:40 浏览: 54
以下是一个简单的C语言队列车厢编组代码示例:
```
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 10
int queue[MAX_SIZE];
int rear = -1;
int front = -1;
void enqueue(int data) {
if (rear == MAX_SIZE - 1) {
printf("Queue is full!\n");
return;
}
if (front == -1) {
front = 0;
}
rear++;
queue[rear] = data;
}
int dequeue() {
if (front == -1 || front > rear) {
printf("Queue is empty!\n");
return -1;
}
int data = queue[front];
front++;
return data;
}
void display() {
if (front == -1 || front > rear) {
printf("Queue is empty!\n");
return;
}
printf("Queue elements:\n");
for (int i = front; i <= rear; i++) {
printf("%d ", queue[i]);
}
printf("\n");
}
int main() {
int n, data;
printf("Enter the number of cars: ");
scanf("%d", &n);
printf("Enter the car numbers:\n");
for (int i = 0; i < n; i++) {
scanf("%d", &data);
enqueue(data);
}
printf("The order of cars is:\n");
for (int i = 1; i <= n; i++) {
int car = dequeue();
printf("%d ", car);
if (car != i) {
printf("Not possible\n");
return 0;
}
}
printf("\nPossible\n");
return 0;
}
```
该代码使用了一个数组作为队列来存储车厢,包括了三个基本操作函数:enqueue(入队)、dequeue(出队)和display(显示队列元素)。在主函数中,用户需要输入车厢数量和车厢编号,然后将它们依次入队。接着,程序从队列中依次出队车厢,如果出队的车厢编号不等于当前序号,说明车厢不能按照要求编组,程序输出"Not possible"。如果所有车厢都可以按照要求编组,程序输出"Possible"。