插入排序的基本思想:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,知道全部记录插入完全为止。
public class InsertSort
{
//固定数组的大小
static final int SIZE=6;
public static void main(String[] args)
{
//初始化数组
int[] nums = new int[SIZE];
for(int i=0;i<SIZE;i++){
nums[i]=(int)(Math.random()*100);
}
//输出排序前的数组
System.out.println("输出排序前的数组为:");
for(int i = 0;i<SIZE;i++){
System.out.print(nums[i]+" ");
}
System.out.println();
//执行插入排序
insertSort(nums);
//输出排序后的数组
System.out.println("输出排序后的数组为:");
for(int i = 0;i<SIZE;i++){
System.out.print(nums[i]+" ");
}
}
public static void insertSort(int[] nums){
int t;
int j;
for(int i = 1;i<nums.length;i++){
t = nums[i];
j = i-1;
//比较并插入合适的位置
while(j>=0&&t<nums[j]){
nums[j+1]=nums[j];
j--;
}
nums[j+1]=t;
}
}
}