插入排序
定义:一般也被称为直接插入排序。 对于少量元素的排序,它是一个有效的算法 。 插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。
动态图:
代码:
package xq0810;
public class InsertSort {
public static void main(String[] args) {
int[] array = { 5, 8, 4, 10, 16,9 };
for (int i = 1; i <array.length ; i++) {//无序区的元素。刚开始将第一个元素设置为有序区,从第二个元素开始插入。
for (int j = i-1; j >=0 ; j--) { //从当前元素依次循环遍历与前面所有有序的元素挨个比较,找到合适的插入位置交换位置
//如果后一个数比前面任何一个数小则交换,一直交换到合适的位置
if (array[j+1]<array[j]){
int temp=array[j+1];
array[j+1]=array[j];
array[j]=temp;
}
}
}
System.out.println("从小到大排序后的结果是:");
for(int i=0;i<array.length;i++)
System.out.print(array[i]+" ");
}
}
插入排序是稳定的。