基本思想:每一步将一个待排序的数据插入到前面已经排好序的有序序列中,直到插完所有元素为止。
算法实现:直接插入排序是将无序序列中的数据插入到有序的序列中,在遍历无序序列时,首先拿无序序列中的首元素去与有序序列中的每一个元素比较并插入到合适的位置,一直到无序序列中的所有元素插完为止。对于一个无序序列arr{3,4,6,5,78,9,7,55,0}来说,我们首先先确定首元素3是有序的,然后在无序序列中向右遍历,4大于3则它插入到3的后面,再继续遍历到6,6大于4则插入到6的后面,这样继续直到得到有序序列{0, 3, 4, 5, 6, 7, 9, 55, 78}
动图解释:(可下载从头观看)
代码解释:
import java.util.Arrays;
public class InsertSort {
public static void main(String[] args) {
int []arr={3,4,6,5,78,9,7,55,0};//定义一个无序的数组
insertSort(arr);//调用插入排序算法
}
public static void insertSort(int[] arr) {
for (int i = 0; i =0&¤t
运行结果:



