/*
数组折半查找
数组冒泡排序
数组选择排序;
数组打印
*/
public class SortNumber{
public static void main(String[] args){
int[] arr = {1,2,3,6};
bubbleSort( arr);
int i = halfSearch( arr,1);
printData( arr);
System.out.println(i);
}
/*数组折半查找*/
public static int halfSearch(int[] arr,int number){
int min = 0;
int max = arr.length-1;
int mid = 0;
while( min <= max ){
mid = (min+max)/2;
if( arr[mid] > number ){
max = mid-1;
}else if( arr[mid] < number){
min = mid +1;
}else{
return mid;
}
}
return -1;
}
/* 冒泡排序*/
public static void bubbleSort(int[] arr ){
int temp = 0;
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]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
/*
数组选择排序
*/
public static void selectSort(int[] arr){
int temp = 0;
for( int i = 0; i < arr.length-1 ; i++){
for( int j = i+1; j<arr.length ; j++){
if( arr[i] >= arr[j]){
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
/* 打印数组函数*/
public static void printData(int[] arr){
System.out.print("[");
for(int i = 0; i < arr.length ;i++){
if( i == arr.length-1 ){
System.out.print(arr[i]+"]");
}else{
System.out.print(arr[i]+",");
}
}
System.out.println();
}
}