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

来源:互联网 发布:曼德拉知乎 编辑:程序博客网 时间:2024/06/04 18:59
public class SwapUtil {public static void swap(int i,int j,int[] block){int temp = block[i];block[i] = block[j];block[j] = temp;}}



//冒泡排序public class BubbleSort {static int[] bubble = new int[]{80 ,20 ,40 ,10 ,60 ,50 ,30 ,102 ,90};public static void main(String[] args) {bubbleSort(bubble);for(int str : bubble){System.out.println(str);}}private static void bubbleSort(int[] bubble){boolean flag = true;for(int i = 0; i < bubble.length && flag; i++){flag = false;for(int j = bubble.length-1; j > i; j--){if(bubble[j - 1] > bubble[j]){SwapUtil.swap(j-1 ,j ,bubble);flag = true;}}}}}

//简单选择排序public class SelectSort {static int[] select = new int[]{80 ,20 ,40 ,10 ,60 ,50 ,30 ,102 ,90};public static void main(String[] args) {quickSort(select);for(int i : select){System.out.println(i);}}private static void quickSort(int[] quick){for(int i = 0;i < quick.length; i++){int min = i;for(int k = quick.length-1; k > i; k--){if(quick[min] > quick[k]){min = k;}}if(min != 0){SwapUtil.swap(i, min, quick);}}}}

//直接插入排序public class InsertSort {static int[] insert = new int[]{80 ,20 ,40 ,10 ,60 ,50 ,30 ,102 ,90};public static void main(String[] args) {insertSort(insert);for(int i : insert){System.out.println(i);}}private static void insertSort(int[] r){int i;int j;for(i=0; i<r.length; i++){int temp = r[i];for(j=i; j>0 && r[j-1]>temp; j--){r[j] = r[j-1];}r[j] = temp;}}}