插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据。
package com.yx.zzg;
public class InsertSort {
public static void main(String[] args) {
int[] a = { 7, 8, 3, 5, 6, 2 };
sort(a);
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
}
public static void sort(int[] data) {
for (int i = 1; i < data.length; i++) {
// 要插入的数据
int temp = data[i];
int position = i;
// 将要插入的数据同有序序列从后向前比较,找出插入位置
while (position > 0 && data[position - 1] < temp) {
// 将数据向后移动
data[position] = data[position - 1];
position--;
}
// 将要插入的数据插入适当的位置
data[position] = temp;
}
}
}