/** * 直接插入排序 * @author TMAC-J * 默认按照从小到大的顺序排列 * 思路:从所有数中选取一个最小的数,用来和第一个数交换,然后再从剩下的数中选取一个最小的数 * 用来和第二个数交换,重复此操作 * */ public class InsertSort { private int[] array; public InsertSort(int[] array) { this.array = array; } /** * 按从小到大的顺序排列 */ public void calculate(){ boolean isSwitch = false; int temp = 0; int which = 0; for(int i = 0;i<array.length-1;i++){ for(int j = i;j<array.length-1;j++){ if(array[j]>array[j+1]){ which = j+1; isSwitch = true; } } if(isSwitch){ temp = array[i]; array[i] = array[which]; array[which] = temp; isSwitch = false; } } } public static void main(String[] args) { int[] a = {10,9,8,7,6,5,4,3,2,1}; InsertSort insertSort = new InsertSort(a); insertSort.calculate(); for(int i = 0;i<a.length;i++){ System.out.println(a[i]); } } }
原文:http://www.cnblogs.com/yzjT-mac/p/6253744.html