*数组的排序.使用方法: Arrays.sort();
* 可以使用冒泡排序
*
* **/
public class Arraysort {
public static void main(String[] args) {
int[] arr={2,4,5,6,1,77,45,88,34,354,234};
OutArray(arr);//打印数组
// ArraySort(arr);//排序数组
maopao(arr);
OutArray(arr);//打印数组
int a=Arrays.binarySearch(arr, 5);
int b=BinarySearch(arr, 5);
System.out.println(a);
System.out.println(b);
}
public static void maopao(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;
}
}
}
}
public static int[] ArraySort(int[] arr){//冒泡排序
for (int i = 0; i < arr.length; i++) {
for (int j = i+1; j < arr.length-1-i; j++) {
if(arr[i]>arr[j]){
int num=arr[i];
arr[i]=arr[j];
arr[j]=num;
}
}
}
return arr;
}
//定义方法,打印数组
public static void OutArray(int[] arr){
System.out.print("[ ");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
System.out.println("]");
}
//数组的查找 二分查找
//binarysearch();
// int[] arr={2,4,5,6,1,77,45,88,34,354,234};
public static int BinarySearch(int[] arr,int key){
int max=arr.length-1;
int min=0;
int mid = (max+min)/2;
for (int i = 0; i < arr.length; i++) {
if(key!=arr[mid]){
if(key>arr[mid]){
min=mid+1;
}else
if(key<arr[mid]){
max=mid-1;
}else{
return -1;
}
mid=(max+min)/2;
}
}
return mid;
}