class MySort {
public static void main(String[] args){
int[] array={10,12,45,1,58,14};
array=bubbleSort(array);
int index=halfSearch(array,45);
for(int i=0;i<=array.length-1;i++){
System.out.println(array[i]);
}
System.out.println(index);
}
/**
*选择排序
*
*/
public static int[] searchSort(int[] arr){
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j<=arr.length-1;j++){
if(arr[i]<arr[j]){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
return arr;
}
/**
*冒泡排序
*
*/
public static int[] bubbleSort(int[] arr){
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}
/**
*二分查找(查找的数组必须是有序的)
*
*/
public static int halfSearch(int[] arr,int find){
int min=0;
int max=arr.length-1;
int mid=0;
int index=-1;
while(true){
if(max<min){
return index;
}
mid=(min+max)/2;
if(arr[mid]>find){
max=mid-1;
}else if(arr[mid]<find){
min=mid+1;
}else{
index=mid;
return index;
}
}
}
} |
|