排序算法(2018-9-3)

算法 入门(2018-9-3)


直接插入排序

public class InsertSort {
    public static void getInsertSort(int[] a){
        if(a==null||a.length==0){
          System.out.println("该数组为空!");
          return;//
        }
        int n=a.length;
        int temp;
        int j;
        for(int i = 1;i < n;i++){
            temp=a[i];
            //j=i-1;//
            for(j=i-1;j>=0&&a[j]>temp;--j){
                a[j+1]=a[j];
            }
            a[j+1]=temp;
        }
    }
    public static void main(String[] args){
        int[] a={3, 5, 1, 2, 6, 4, 7, 0, 23, 44, 3, 34};
        getInsertSort(a);
        System.out.println("直接插入排序:");
        for(int i=0;i<a.length;i++) {
            System.out.print(a[i]+" ");
        }
    }
}
package com.sxy.insertSort1;
public class InsertSort {
    public static void sort(int[] a) {
        if(a==null&&a.length==0) {
            System.out.println("输入的数组为空!");
            return;
        }
        int n=a.length;
        int temp,j;
        for(int i=1;i<n;i++) {
            temp=a[i];//
            j=i-1;
            for(;j>=0&&a[j]>temp;--j) {
                a[j+1]=a[j];
            }
            a[j+1]=temp;
        }
    }
    public static void main(String[] args) {
        int[] arr={6,5,4,3,2,1};
        sort(arr);
        System.out.println("after sort:");
        /*for(int a:arr){
            System.out.print(a+" ");
        }*/
        for (int i=0;i<arr.length;i++) {
            System.out.print(arr[i]+" ");
        }
    }
}
package com.sxy.insertSort;
//直接插入排序
public class InsertSortTest {
    static void sort(int[] a) {
        for(int i=1;i<a.length;i++) {
            for(int j=i;j>0;j--) {
                if(a[j]<a[j-1]){
                    int temp=a[j];
                    a[j]=a[j-1];
                    a[j-1]=temp;
                }
            }
        }
    }
    public static void main(String[] args) {
        int[] arr={6,5,3,4,2,1};
        System.out.println("old:");
        for(int i=0;i<arr.length;i++)
            System.out.print(arr[i]+"");
        System.out.println();
        sort(arr);
        System.out.println("new:");
        for(int i=0;i<arr.length;i++)
            System.out.print(arr[i]+"");
    }
}

简单选择排序

//简单选择排序
public class SortTest {
    public static void sort(int[] a){
        if(a==null&&a.length==0){
            return;
        }
        int n=a.length;
        int min,temp;
        for(int i=0;i<n-1;i++){//
            min=i;//
            for(int j=i+1;j<n;j++){
                if(a[j]<a[min]){
                    min=j;//
                }
            }
            /*temp=a[i];
            a[i]=a[min];
            a[min]=temp;*/
            temp=a[min];
            a[min]=a[i];
            a[i]=temp;
        }
    }
    public static void main(String[] args){
        int[] arr={6,5,2,3,4,1};
        System.out.println("after sort:");
        sort(arr);
        //int i;//
        for(int i:arr){
            System.out.print(i+" ");
        }

    }
}
//简单选择排序
public class SortTest {
    public static void sort(int[] a){
        if(a==null&&a.length==0){
            return;
        }
        int n=a.length;
        int min,temp;
        for(int i=0;i<n;i++){//
            min=i;//
            for(int j=i+1;j<n;j++){
                if(a[j]<a[min]){
                    min=j;//
                }
            }
            /*temp=a[i];
            a[i]=a[min];
            a[min]=temp;*/
            if(min!=i){//
                temp=a[min];
                a[min]=a[i];
                a[i]=temp;
            }
        }
    }
    public static void main(String[] args){
        int[] arr={6,5,2,3,4,1};
        System.out.println("after sort:");
        sort(arr);
        //int i;//
        for(int i:arr){
            System.out.print(i+" ");
        }
    }
}

a.length==0、a==null、a == “”、a.equals(“”) 的区别

a == null 没在堆里开辟内存,即相当于没有new
a == “” new了一个String,但内容为空,长度为零
a.equals(“”) 同上


https://blog.csdn.net/u011760575/article/details/41349919

关于Java你可能不知道的10件事 (转载的文章,感觉比较有意思,等有空的时候好好玩一下)

java中有哪些你以为你知道,实际却不知道的?


猜你喜欢

转载自blog.csdn.net/AriesTina/article/details/82344735