数组为线性结构,在内存中是连续的内存存储。 那么如何实现环路的排列呢?
什么是循环序列? 循环序列为数组的头尾是相连的
假设有数组[3,7,2,9,1,5],则形成的环数组如下图所示。
用代码实现后,如下所示:
矢量整数={ 3,7,2,9,1,5 }; int size=num.size (; int i=0; wile(true ) { cout ' ' num[i % size]; I; 您可以使用%求余中的技巧继续遍历循环数组。
对于遍历一圈该循环数组,代码如下所示:
# include iostream # includevectorusingstd : vector; using std:cout; using std:endl; int main () vector intnum={ 3,7,2,9,1,5 }; int size=num.size (; for(intindex=0; 索引2 * size; 索引) { cout ' ' num [索引% size ]; }返回0; }执行结果: