编码实现一个类:(1)提供一个静态方法,可以将输入的一个int[]数组按照从小到大的顺序排列;(2)提供静态方法,对排好序的数组使用折半(二分)查找(使用递归和非递归两种形式分别实现)查找某一个整数。
public class Array {
public static void sort(int a[]) {
int len=a.length;
int t;
for(int i=0;i<len;i++) {
for(int j=i+1;j<len;j++) {
if(a[i]>a[j]) {
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
}
public static int search(int a[],int n) {
int len=a.length;
int x;
for(int i=0;i<len;i++) {
x=(i+len+1)/2;
if(a[x]==n)return x+1;
else if(a[x]<n)i=x+1;
else if (a[x]>n)len=x;
}
return -1;
}
public static void main(String[] args) {
int a[]= new int[]{2,1,4,8,3,5};
for(int i=0;i<6;i++) {
System.out.print(a[i]);
}
System.out.println();
sort(a);
for(int i=0;i<6;i++) {
System.out.print(a[i]);
}
System.out.println();
System.out.println(search(a,3));
}
}