数组常用方法的总结


  1. //数组常用方法  
  2. public class ArrayTest {  
  3.   
  4.     public static void main(String[] args) {  
  5.         int arr[] = {1,66,35,78,2,5,6,3};  
  6.         //System.out.println(getMax(arr));  
  7.         //System.out.println(getMin(arr));  
  8.         //printArray(arr);  
  9.         //selectSort(arr);  
  10.         //bubbleSort(arr);  
  11.         int index = binarySearch(arr,35);  
  12.         printArray(arr);  
  13.         System.out.println(index);  
  14.     }  
  15.     //打印数组功能  
  16.     public static void printArray(int arr[]){  
  17.         for(int i=0;i<arr.length;i++){  
  18.             if(i!=arr.length-1){  
  19.                 System.out.print(arr[i]+”,”);  
  20.             }else{  
  21.                 System.out.println(arr[i]);  
  22.             }  
  23.         }  
  24.     }  
  25.     //获取最大值  
  26.     public static int getMax(int arr[]){  
  27.         int  max=0;  
  28.         for(int i=0;i<arr.length;i++){  
  29.             if(arr[max]<arr[i]){  
  30.                 max = i;  
  31.             }  
  32.         }  
  33.         return arr[max];  
  34.     }  
  35.     //获取最小值  
  36.     public static int getMin(int arr[]){  
  37.         int min=0;  
  38.         for(int i=0;i<arr.length;i++){  
  39.             if(arr[min]>arr[i]){  
  40.                 min = i;  
  41.             }  
  42.         }  
  43.         return arr[min];  
  44.     }  
  45.     //选择排序  
  46.     public static void selectSort(int arr[]){  
  47.         for(int x=0;x<arr.length-1;x++){  
  48.             for(int y=x+1;y<arr.length;y++){  
  49.                 if(arr[x]>arr[y]){  
  50.                     int temp = arr[x];  
  51.                     arr[x] = arr[y];  
  52.                     arr[y] = temp;  
  53.                 }  
  54.             }  
  55.         }  
  56.     }  
  57.     //冒泡排序  
  58.     public static void bubbleSort(int arr[]){  
  59.         for(int x=0;x<arr.length-1;x++){  
  60.             for(int y=0;y<arr.length-1-x;y++){  
  61.                 if(arr[y]>arr[y+1]){  
  62.                     int temp = arr[y];  
  63.                     arr[y] = arr[y+1];  
  64.                     arr[y+1] = temp;  
  65.                 }  
  66.             }  
  67.         }  
  68.     }  
  69.     //二分法查找  
  70.     public static int binarySearch(int arr[],int key){  
  71.         selectSort(arr);  
  72.         int min=0,max=arr.length-1,mid;  
  73.           
  74.         while(min<=max){  
  75.             mid = (min+max)/2;  
  76.                 if(key>arr[mid]){  
  77.                     min = mid+1;  
  78.                 }else if(key<arr[mid]){  
  79.                     max = mid-1;  
  80.                 }else{  
  81.                     return mid;  
  82.                 }  
  83.         }  
  84.         return -1;  
  85.     }  
  86. }  
//数组常用方法
public class ArrayTest {

    public static void main(String[] args) {
        int arr[] = {1,66,35,78,2,5,6,3};
        //System.out.println(getMax(arr));
        //System.out.println(getMin(arr));
        //printArray(arr);
        //selectSort(arr);
        //bubbleSort(arr);
        int index = binarySearch(arr,35);
        printArray(arr);
        System.out.println(index);
    }
    //打印数组功能
    public static void printArray(int arr[]){
        for(int i=0;i<arr.length;i++){
            if(i!=arr.length-1){
                System.out.print(arr[i]+",");
            }else{
                System.out.println(arr[i]);
            }
        }
    }
    //获取最大值
    public static int getMax(int arr[]){
        int  max=0;
        for(int i=0;i<arr.length;i++){
            if(arr[max]<arr[i]){
                max = i;
            }
        }
        return arr[max];
    }
    //获取最小值
    public static int getMin(int arr[]){
        int min=0;
        for(int i=0;i<arr.length;i++){
            if(arr[min]>arr[i]){
                min = i;
            }
        }
        return arr[min];
    }
    //选择排序
    public static void selectSort(int arr[]){
        for(int x=0;x<arr.length-1;x++){
            for(int y=x+1;y<arr.length;y++){
                if(arr[x]>arr[y]){
                    int temp = arr[x];
                    arr[x] = arr[y];
                    arr[y] = temp;
                }
            }
        }
    }
    //冒泡排序
    public static void bubbleSort(int arr[]){
        for(int x=0;x<arr.length-1;x++){
            for(int y=0;y<arr.length-1-x;y++){
                if(arr[y]>arr[y+1]){
                    int temp = arr[y];
                    arr[y] = arr[y+1];
                    arr[y+1] = temp;
                }
            }
        }
    }
    //二分法查找
    public static int binarySearch(int arr[],int key){
        selectSort(arr);
        int min=0,max=arr.length-1,mid;

        while(min<=max){
            mid = (min+max)/2;
                if(key>arr[mid]){
                    min = mid+1;
                }else if(key<arr[mid]){
                    max = mid-1;
                }else{
                    return mid;
                }
        }
        return -1;
    }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值