黑马程序员——由排序算法引发的代码抽取

时间:2023-02-19 17:32:38

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

今天学习了选择排序法和冒泡排序法:

     /*
    选择排序法
    */
    public static void selectSort(int[] arr){
        for(int i=0;i<arr.length;i++){
            for(int j=i+1;j<arr.length;j++){
                if(arr[i]>arr[j]){
                    int temp=arr[i];
                    arr[i]=arr[j];
                    arr[j]=temp;
                }
            }
        }
    }

     /*
    冒泡排序法:
    */
    public static void bubbleSort(int[] arr){
        for(int i=0;i<arr.length-1;i++){
            for(int j=0;j<arr.length-i-1;j++){//减i,让
                if(arr[j]>arr[j+1]){
                    int temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
                    
            }
        }
    }

两个排序方法中都用到了交换数组元素的功能;所以为了提高代码的复用;将其定义成一个函数:

    /*
    交换数组元素
    */
    public static void swapArray(int[] arr,int a,int b){
        int temp=arr[a];
        arr[a]=arr[b];
        arr[b]=temp;
    }

原来都是一边又一遍的写交换代码,知道代码复用的概念,却不知道在实际编码过程中去运用。通过今天的视频才体会到代码复用给代码编写过程带来的极大方便。大大提高的编码效率。