package com.zsw.sort; /** * 排序编程 * 请说出3中常见的排序方法,并使用任意一种方法编写排序函数 * 1.冒泡排序 * 2.选择排序 * 3.插入排序 * @author zsw */ public class MySort { /** * 选择排序 * @param number */ public static void selectionSort(int[] number){ for(int i =0;i<number.length-1;i++){ int m = i; for(int j = i+1;j<number.length;j++){ if(number[j]<number[m]) m = j; } if(i!=m) swap(number, i, m); } } /** * 插入排序 * @param number */ public static void injectionSort(int[] number){ for(int j = 1;j<number.length;j++){ int tmp = number[j]; int i = j-1; while(tmp<number[i]){ number[i+1] = number[i]; i--; if(i==-1){ break; } } number[i+1] = tmp; } } /* * 冒泡排序 */ public static void bubbleSort(int[] number){ boolean flag = true; for(int i = 0;i<number.length-1 && flag;i++){ flag = false; for (int j = 0; j < number.length-1-i; j++) { if(number[j+1]<number[j]){ swap(number, j+1,j); flag = true; } } } } private static void swap(int[] number,int i,int j){ int t; t = number[i]; number[i] = number[j]; number[j] = t; } public static void main(String[] args) { int [] number = {1,6,3,4,7,8,11}; // bubbleSort(number); // selectionSort(number); injectionSort(number); for(int i =0;i<number.length;i++){ System.out.println(number[i]); } } }