![](https://csdnimg.cn/release/download_crawler_static/89302075/bg1.jpg)
环形数组(也称为循环数组或圆形数组)是一种逻辑结构,它允
许数组元素在数组的末尾和开头之间无缝循环。这种结构在多种
算法和数据结构中很有用,如循环队列、滑动窗口等。
在环形数组中,当元素到达数组的末尾时,下一个元素将插入到
数组的开头,反之亦然。这样,数组在逻辑上形成了一个环。
举例说明
假设我们有一个环形数组,可以容纳 5 个元素:[1, 2, 3, 4, 5]。
如果我们继续向这个数组中添加元素(比如数字 6),由于数组
已满,我们会在数组的开头添加这个元素,得到[6, 1, 2, 3, 4]。
同样地,如果我们从数组中移除一个元素(比如数字 1),下一
个元素(数字 6)将成为新的“开头”元素。
示例代码
以下是一个简单的 Python 类,模拟了一个环形数组的功能:
python 复制代码
class CircularArray:
def __init__(self, k):
self.k = k # 数组的最大容量
self.array = [None] * k # 初始化数组
self.head = 0 # 指向数组开头的索引
self.count = 0 # 数组中当前元素的数量