enqueue()在c语言中的用法
时间: 2023-07-19 09:44:48 浏览: 730
An example of C_queue
Enqueue()是一个用于将元素插入队列的函数,通常在队列的尾部插入元素。在C语言中,我们需要先定义一个队列结构体,然后实现Enqueue()函数。以下是一个示例:
```
// 定义队列结构体
struct Queue {
int front; // 队头指针
int rear; // 队尾指针
int size; // 队列大小
int capacity; // 队列容量
int* data; // 存储数据的数组指针
};
// 初始化队列
void InitQueue(struct Queue* q, int capacity) {
q->front = 0;
q->rear = 0;
q->size = 0;
q->capacity = capacity;
q->data = (int*)malloc(sizeof(int) * capacity);
}
// 入队操作
void Enqueue(struct Queue* q, int value) {
if (q->size == q->capacity) {
printf("Queue is full.\n");
return;
}
q->data[q->rear] = value; // 将元素插入队尾
q->rear = (q->rear + 1) % q->capacity; // 更新队尾指针
q->size++; // 更新队列大小
}
// 测试Enqueue()函数
int main() {
struct Queue q;
InitQueue(&q, 5);
Enqueue(&q, 1);
Enqueue(&q, 2);
Enqueue(&q, 3);
Enqueue(&q, 4);
Enqueue(&q, 5);
Enqueue(&q, 6); // 队列已满,Enqueue()函数将无法插入元素
return 0;
}
```
在以上示例中,我们定义了一个队列结构体,包含队头指针、队尾指针、队列大小、队列容量和存储数据的数组指针。InitQueue()函数用于初始化队列,Enqueue()函数用于将元素插入队列的尾部。
阅读全文