近日在处理数据结构中顺序表的定位问题时,想到了使用for循环,不过课本上写的是while循环,故而有疑惑到底是该用什么呢?
下面是针对定位的具体两种循环的具体代码:
while循环
locateWhile(SeqlList L,DataType x ) { Int i=0; While((i<L.length )&& (L.data[i]!=x)) i++; If(i<L.length) return i+1; Else return 0; <p>}</p>
首先先来了解下什么是while循环:
当while循环主体有且只有一个语句时,可以将大括号省去。在while循环语句中只有一个判断条件,它可以是任何表达式。当判断条件的值为真,循环就会执行一次,再重复测试判断条件,执行循环主体,知道判断条件为假(false),才会跳离while循环。
下面列出while循环的流程:
(1)第一次进入while循环前,必须为循环控制变量(或表达式)赋初值。
(2)根据判断条件的内容决定是否继续执行循环,如果条件判断值为真(true),继续执行循环主体;若条件判断值为假(false),则跳出循环执行其它语句
(3)执行完循环主体内的语句后,重新为循环控制变量(或表达式)赋值(增加或减少),由于while循环不会自行更改循环控制变量(或表达式)的内容,所以while循环中为循环控制变量赋值的工作要由设计者自己来做,完成后再回到步骤(2)重新判断是否继续执行循环。
for循环
locate(SeqlList L,DataType x ) { For(int i=0;i<L.length;i++) If(L.data[i]==x) return i+1; Return 0 }可以实现与while循环一样的作用。
循环区别
通过上网查找,发现一些统一地意见:
for循环用在一直循环次数的情况下,而且循环规律为整数的时候,方便一点,
while循环就随意了,只要是循环,就可以解决。