标签:排序 access 分享 时间 sys 个数 顺序 nal out
插入排序包括:直接插入排序,二分插入排序(折半插入排序),链表插入排序,希尔排序。
今天介绍的是直接插入排序。
在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。
直接插入排序是稳定的。算法时间复杂度O(n2)--[n的平方]
import java.util.Arrays; import com.sun.accessibility.internal.resources.accessibility; public class Main { public static void main(String[] args){ int[] arr = {4,3,6,1,5,2,7,10,9}; insertSort(arr); System.out.println(Arrays.toString(arr)); } //直接插入排序 public static void insertSort(int[] a){ for(int i = 1 ;i < a.length; i++){ for(int j = i; j > 0;j--){ if(a[j] < a[j-1]){ swap(a, j, j-1); } } } } private static void swap(int[] a,int low,int high){ int temp = a[low]; a[low] = a[high]; a[high] = temp; } }
好了,查看结果
标签:排序 access 分享 时间 sys 个数 顺序 nal out
原文地址:http://www.cnblogs.com/wuguanglin/p/insertSort.html