实例
//用java实现一个插入排序算法 public class InsertSort { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr = {3, 5, 7, 1, 8, 11, 9}; //定义数组 doInsertSort(arr); //开始排序 } //排序方法 public static void doInsertSort(int[] arrays) { int len = arrays.length; //获取数组的长度 for (int i = 1; i < len; i++) { //遍历数组,从1开始 int j; //定义变量j int temp = arrays[i]; //临时存储当前的数字 for (j = i; j > 0; j--) { //遍历i之前的数字 //如果前面的数字大于后面的,则把打的值赋到后边 if (arrays[j - 1] > temp) { arrays[j] = arrays[j - 1]; }else { //如果当前的数,不小于前面的数,那就说明不小于前面所有的数 //因为前面已经是排好了序的,所以直接通出当前一轮的比较 break; } } arrays[j] = temp; //把空缺位置的数字赋值为原有的值 } insertSortPrint(arrays); //打印 } // public static void insertSortPrint(int[] arrays) { for (int i = 0; i < arrays.length; i++) { //遍历 System.out.print(arrays[i] + " "); //打印,以空格隔开 } System.out.println(); //换行 } }
运行实例 »
点击 "运行实例" 按钮查看在线实例