一、以下是程序代码:
/* 直接接入排序的基本思想是:顺序把待排序的数据元素按其关键字值的大小插入到已排序数据元素子集合的适当位置。
* 子集合的数据元素个数从只有一个数据元素开始逐次增大,当子集合大小最终与集合大小相同时排序完毕。
*/
public class InsertSort {
public static void insertSort(int[] array ){
int temp = 0, length = array.length,j;
for (int i = 0; i < length -1; i++) {
temp = array[i+1];
j = i;
while(j > -1 && temp < array[j] ){
array[j+1] = array[j];
j--;
}
array[j+1] = temp;
}
}
public static void showArray(int[] array){
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]+String.valueOf("\t"));
}
System.out.println();
}
public static void main(String[] args) {
int[] arrayData={20,36,58,91,32,45,52,80,15};
System.out.println("排序前的数组:");
showArray(arrayData);
insertSort(arrayData);
System.out.println("排序后的数组:");
showArray(arrayData);
}
}