算法的考查:数组的复制、反转、查找(线性查找、二分法查找
如下:
public class ArrayTest2 {
public static void main(String
[] args
) {
String
[] arr
= new String[]{"xiaoMing","XIaoHuang","XiaoChen","XiaoLiu","XiaoYang","XiaoHong"};
String
[] arr1
= new String[arr
.length
];
for(int i
= 0;i
< arr1
.length
;i
++){
arr1
[i
] = arr
[i
];
}
for(int i
= 0;i
< arr
.length
;i
++){
System
.out
.print(arr
[i
] + "\t");
}
System
.out
.println();
String dest
= "XiaoMing";
dest
= "XiaoXi";
boolean isFlag
= true;
for(int i
= 0;i
< arr
.length
;i
++){
if(dest
.equals(arr
[i
])){
System
.out
.println("找到了指定的元素,位置为:" + i
);
isFlag
= false;
break;
}
}
if(isFlag
){
System
.out
.println("很遗憾,没有找到的啦!");
}
int[] arr2
= new int[]{-123,-34,1,44,54,88,90,105,212,563};
int dest1
= -34;
dest1
= 76;
int head
= 0;
int end
= arr2
.length
- 1;
boolean isFlag1
= true;
while(head
<= end
){
int middle
= (head
+ end
)/2;
if(dest1
== arr2
[middle
]){
System
.out
.println("找到了指定的元素,位置为:" + middle
);
isFlag1
= false;
break;
}else if(arr2
[middle
] > dest1
){
end
= middle
- 1;
}else{
head
= middle
+ 1;
}
}
if(isFlag1
){
System
.out
.println("很遗憾,没有找到的啦!");
}
}
}
转载请注明原文地址:https://blackberry.8miu.com/read-30801.html