其实没有发现有啥区别。。。
最近在用java来实现一些基本的算法,从基础开始学习,在做线性搜索时,一开始用了for来实现(代码随便写):
public int lisearch(int[] in, int tg) {
int out = 0;
int size = in.length;
for(int i=0; i < size; i++) {
if(in[i] == tg) {
out = i+1;
System.out.println("find at " + i + ", output is " + out);
break;
}
}
return out;
}
如果用while来实现:
while(i < size) {
if(in[i] == tg) {
out = i+1;
System.out.println("find it at " + i + ", output is " + out);
break;
}
i++;
}
另一种写法:
for (i = 0; in[i] != tg && i < size; i++) {
}
if(in[i] == tg) {
out = i+1;
System.out.println("find it at " + i + ", output is " + out);
}else {
System.out.println("Can not find tg ");
}
while:
i = 0;
while(in[i] != tg && i < size) {
i++;
}
if(in[i] == tg) {
out = i+1;
System.out.println("find it at " + i + ", output is " + out);
}else {
System.out.println("Can not find tg ");
}
今天先这样吧~