c语言编程实现队列的基本操作,如队列的创建,入队和出队等基本操作
时间: 2024-03-18 17:27:20 浏览: 89
c语言实现队列,出队入队等操作
好的,关于队列的基本操作,我可以为您提供以下代码示例(使用C语言实现):
// 定义一个队列结构体
typedef struct {
int* elements;
int front, rear; // 队首和队尾指针
int max_size;
} Queue;
// 创建队列
Queue* create_queue(int size) {
Queue* q = (Queue*) malloc(sizeof(Queue));
q->elements = (int*) malloc(sizeof(int) * size);
q->front = 0;
q->rear = -1; // 初始时,队尾指针为-1
q->max_size = size;
return q;
}
// 入队
void enqueue(Queue* q, int value) {
if (q->rear == q->max_size - 1) {
printf("队列已满,无法入队!\n");
return;
}
q->rear++;
q->elements[q->rear] = value;
}
// 出队
int dequeue(Queue* q) {
if (q->front > q->rear) {
printf("队列为空,无法出队!\n");
return -1;
}
int value = q->elements[q->front];
q->front++;
return value;
}
// 测试代码
int main() {
Queue* q = create_queue(5);
enqueue(q, 1);
enqueue(q, 2);
enqueue(q, 3);
printf("%d\n", dequeue(q));
printf("%d\n", dequeue(q));
enqueue(q, 4);
printf("%d\n", dequeue(q));
printf("%d\n", dequeue(q));
printf("%d\n", dequeue(q));
return 0;
}
以上是一个简单的队列实现,包括创建队列、入队和出队等基本操作。希望对您有所帮助!
阅读全文