首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

浅谈循环数组

浅谈循环数组

以前我们学习数组的时候是有开始点跟结束点的线性数组,有一种数组是没有明确结束点的数组,任何一点都可以是开始点又可以是结束点,这种数组是循环数组。如下图:




我们先来解决下面几个问题:
问题一:如何保存循环数组呢?
方法很简单循环数组的保存方法跟一维数组的保存方法相同,只不过为了下面处理方便下标从0开始。

下标

例如一个数组里面保存了1—7:
0
1
2
3
4
5
6

数值

1
2
3
4
5
6
7

问题二:如何从某一点起遍历访问所有元素,例如:从下标3开始,依次访问3 4 5 6 0 1 2 单元呢?
其实问题很简单,要解决的就是访问到最后一个元素怎么返回第一个单元。


方法二:
  const max=256;
var
a:array [0..max] of integer;
count,i,n,k,j:integer;
begin
readln(n);
for i:=0 to n-1 do
   a:=i+1;
count:=0;i:=3;
while count<n do
begin
write(a,’’);
count:=count+1;
     i:=(i+1) mod n;
   end;
end.
继承事业,薪火相传
返回列表