把连续的数值按先进先出原则放入到数组中
时间: 2024-03-01 11:54:55 浏览: 105
数组实现先进先出算法
5星 · 资源好评率100%
以下是用C语言实现该功能的代码:
```c
#define ARRAY_SIZE 10 // 定义数组长度
static int my_array[ARRAY_SIZE]; // 定义数组
static int array_head = 0; // 定义数组头指针
static int array_tail = 0; // 定义数组尾指针
// 将数值放到数组中
void add_to_array(int value) {
my_array[array_tail] = value; // 将数值放到数组尾部
array_tail++; // 将数组尾指针加1
if (array_tail >= ARRAY_SIZE) { // 如果数组尾指针超出数组长度,将其重置为0
array_tail = 0;
}
}
// 获取数组中数值的个数
int get_array_size() {
if (array_tail >= array_head) {
return array_tail - array_head;
} else {
return ARRAY_SIZE - (array_head - array_tail);
}
}
// 获取数组中最早的数值
int get_oldest_value() {
int value = my_array[array_head]; // 获取数组中最早的数值
array_head++; // 将数组头指针加1
if (array_head >= ARRAY_SIZE) { // 如果数组头指针超出数组长度,将其重置为0
array_head = 0;
}
return value;
}
```
以上代码中,我们定义了一个长度为10的数组,用于存储连续的数值。在add_to_array函数中,我们将新的数值放到数组尾部,并将数组尾指针加1。如果数组尾指针超出了数组长度,我们将其重置为0。在get_array_size函数中,我们计算数组中数值的个数,即数组尾指针减去数组头指针。如果数组头指针大于数组尾指针,说明数组已经循环了一圈,我们需要用数组长度减去数组头指针和数组尾指针之间的距离。在get_oldest_value函数中,我们获取数组中最早的数值,并将数组头指针加1。如果数组头指针超出了数组长度,我们将其重置为0。最后,我们返回获取到的数值。
阅读全文