冒泡,简单选择,直接插入排序(Java版)

来源:互联网 发布:易道打车软件 编辑:程序博客网 时间:2024/06/05 15:37

冒泡,简单选择,直接插入这三种排序都是简单排序。

工具类

package Utils;import java.util.Arrays;public class SortUtils {    public static void swap(int[] a,int i,int j){        int temp = a[i];        a[i] = a[j];        a[j] = temp;    }    public static void printString(int[] a){        System.out.println(Arrays.toString(a));    }}

冒泡排序

package BubbleSort;import java.util.Arrays;import Utils.SortUtils;public class Demo02 {    public static void bubbleSort(int[] a){        int len = a.length;        boolean flag = true;        for(int i=0; i<len-1 && flag; i++){            flag = false;//假设无须交换            for(int j=0; j< len-1-i; j++)            {                if(a[j+1]<a[j]){                    flag = true;//交换了                    SortUtils.swap(a,j+1,j);                }               }        }       }    public static void main(String[] args) {        int[] a = {2,3,5,4,1,6,9,8,7};              bubbleSort(a);        SortUtils.printString(a);    }}

简单选择排序

package SimpleSort;import java.util.Arrays;import Utils.SortUtils;public class Demo {    public static void simpleSort(int[] arr){        int min;        for (int i = 0; i < arr.length; i++) {            min = i;//假设第一个数据为最小的数据            for (int j = i+1; j < arr.length; j++) {                if(arr[min]>arr[j]){                    min = j;                }            }            if(i!=min){                SortUtils.swap(arr, min, i);            }        }    }    public static void main(String[] args) {        int[] a = {2,3,5,4,1,6,9,8,7};          simpleSort(a);        SortUtils.printString(a);    }}


直接插入排序

package InsertSort;import Utils.SortUtils;public class Demo {    public static void insertSort(int[] a){        int temp,j;        for (int i = 0; i < a.length-1; i++) {            if(a[i]>a[i+1]){//后一个数据小于前一个数据                temp = a[i+1];//放入缓存区                for (j = i; j>=0&&a[j]>temp; j--) {                    a[j+1] = a[j];//往后移动                }                //因为前面减一之后做的判断,所以这里加一                a[j+1] = temp;            }        }    }    public static void main(String[] args) {        int[] a = {2,3,5,4,1,6,9,8,7};          insertSort(a);        SortUtils.printString(a);    }}



比较三种排序



0 0