1. 数组的反转
String[] arr=new String[] {"AA","BB","CC","DD","EE","FF"};
//数组的反转
for(int i=0,j=arr.length-1;i<j;i++,j--) {
String temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
//遍历
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]+"\t");
}
运行结果如下:
2. 数组的线性查找
String[] arr=new String[] {"AA","BB","CC","DD","EE","FF"};
//线性查找
String desc="BB";
//String desc="SS";
boolean isFlag=true;
for(int i=0;i<arr.length;i++) {
if(desc.equals(arr[i])) {
System.out.println("找到了指定元素,位置为:"+i);
isFlag=false;
break;
}
}
if(isFlag) {
System.out.println("很遗憾,没有找到!");
}
运行结果如下:
3. 数组的二分查找
//二分查找:要求此数组必须是有序的。
int[] arr3 = new int[]{2,5,7,8,10,15,18,20,22,25,28};
int desc1=18;
//desc1=2345;
int head=0;//首索引位置
int end=arr3.length-1;//尾索引位置
boolean isflag=true;
while(head<=end) {
int middle=(head+end)/2;
if(desc1==arr3[middle]) {
System.out.println("找到了指定元素,位置为:"+middle);
isflag=false;
break;
}else if(desc1<arr3[middle]) {
end=middle-1;
}else {
head=middle+1;
}
}
if(isflag) {
System.out.println("很遗憾,没有找到!");
}
运行结果如下:
图解说明: