(一)实现顺序队列的基本操作,要求如下: (1)建立队列: 建立一个字符类型的顺序队列,并初始化队列。 (2)入队: 将字符 'A'、'B'、'C' 依次入队。 (3)获取队头元素: 获取队头元素并输出。 (4)出队: 出队并输出两个元素。使用c语言输出
时间: 2024-10-20 10:10:01 浏览: 33
顺序队列的实现(Go)
在C语言中,我们可以使用数组来实现顺序队列,因为数组提供了一种线性存储结构。这里是一个简单的实现步骤:
```c
#include <stdio.h>
#define MAX_SIZE 5 // 队列最大容量
// 定义队列结构体
typedef struct {
char data[MAX_SIZE];
int front; // 队头指针
int rear; // 队尾指针
} Queue;
// 初始化队列
void init(Queue* q) {
q->front = -1;
q->rear = -1;
}
// 入队操作
void enqueue(Queue* q, char item) {
if (q->rear == (MAX_SIZE - 1)) {
printf("Queue is full.\n");
return;
}
if (q->front == -1) {
q->front = 0;
}
q->data[++q->rear] = item;
}
// 获取队头元素
char dequeue(Queue* q) {
if (q->front == -1 || q->front == q->rear) {
printf("Queue is empty.\n");
return '\0';
}
char temp = q->data[q->front];
q->front++;
return temp;
}
// 主函数演示操作
int main() {
Queue myQueue;
init(&myQueue);
enqueue(&myQueue, 'A');
enqueue(&myQueue, 'B');
enqueue(&myQueue, 'C');
printf("Front element: %c\n", dequeue(&myQueue)); // 输出 A
printf("Dequeued elements: %c and %c\n", dequeue(&myQueue), dequeue(&myQueue)); // 输出 B 和 C
return 0;
}
```
在这个例子中,我们创建了一个顺序队列,先入队字符'A'、'B'和'C',然后分别获取并输出队头元素以及连续出队两个元素。
阅读全文