给我一个队列的C语言程序设计的代码
时间: 2023-12-06 19:45:15 浏览: 27
以下是一个简单的队列的C语言程序设计的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 10 // 定义队列的最大容量为 10
int queue[MAX_SIZE]; // 定义一个数组存放队列元素
int front = 0; // 队首指针
int rear = 0; // 队尾指针
// 判断队列是否为空
int is_empty() {
return front == rear;
}
// 判断队列是否已满
int is_full() {
return rear == MAX_SIZE;
}
// 入队操作
void enqueue(int value) {
if (is_full()) {
printf("队列已满,无法入队\n");
return;
}
queue[rear++] = value;
}
// 出队操作
int dequeue() {
if (is_empty()) {
printf("队列为空,无法出队\n");
exit(1);
}
return queue[front++];
}
// 获取队首元素
int get_front() {
if (is_empty()) {
printf("队列为空,无法获取队首元素\n");
exit(1);
}
return queue[front];
}
// 获取队尾元素
int get_rear() {
if (is_empty()) {
printf("队列为空,无法获取队尾元素\n");
exit(1);
}
return queue[rear - 1];
}
// 打印队列元素
void print_queue() {
if (is_empty()) {
printf("队列为空\n");
return;
}
printf("队列中的元素为:");
for (int i = front; i < rear; i++) {
printf("%d ", queue[i]);
}
printf("\n");
}
int main() {
enqueue(10);
enqueue(20);
enqueue(30);
print_queue(); // 队列中的元素为:10 20 30
printf("队首元素为:%d\n", get_front()); // 队首元素为:10
printf("队尾元素为:%d\n", get_rear()); // 队尾元素为:30
dequeue();
print_queue(); // 队列中的元素为:20 30
return 0;
}
```
此代码实现了队列的基本操作:入队、出队、获取队首元素、获取队尾元素和打印队列元素。