写一个 Linux下实现环形缓冲区的代码
时间: 2023-03-13 15:26:41 浏览: 72
#include <stdio.h>
#define SIZE 5
int items[SIZE];
int front = -1, rear = -1;
void enQueue(int value){
if((front == 0 && rear == SIZE-1) || (front == rear+1)){
printf("\nQueue is Full!!");
} else {
if(front == -1)
front = 0;
rear = (rear+1)%SIZE;
items[rear] = value;
printf("\nInserted -> %d", value);
}
}
int deQueue(){
int value;
if(front == -1){
printf("\nQueue is Empty!!");
return -1;
} else {
value = items[front];
if(front == rear){
front = -1;
rear = -1;
}
else {
front = (front+1)%SIZE;
}
printf("\nDeleted element -> %d ", value);
return value;
}
}void display(){
int i;
if(front == -1)
printf(" \nQueue is Empty!!!");
else{
printf("\nQueue elements are:\n");
for(i = front; i!=rear; i=(i+1)%SIZE){
printf("%d ",items[i]);
}
printf("%d ",items[i]);
}
}int main(){
int value;
enQueue(1);
enQueue(2);
enQueue(3);
enQueue(4);
enQueue(5);
enQueue(6);
display();
value = deQueue();
value = deQueue();
value = deQueue();
display();
enQueue(7);
display();
return 0;
}回答:我可以分享一段Linux下用于实现环形缓冲区的代码:
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)