插入排序算法;
(从后向前找到合适位置后插入)
基本思想:每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的字序列的合适位置(从后向前找到
合适位置后),直到全部插入排序完为止。
优点:稳定,快;
缺点:比较次数不一定,比较次数越少,插入点后的数据移动越多,特别是当数据总量庞大的时候,但用链表可以解决 这个问题。
Demo;
public class ChaRu {
public static void main(String[] args) {
//创建一个数组并赋值
int[] nums={1,45,89,44,34,74,56,15,99,128};
//嵌套循环
for (int i=0;i<nums.length;i++){
int temp=nums[i];
int j=0;
for (j=i-1;j>=0;j--){
if (nums[j]>temp){
nums[j+1]=nums[j];
}else{
break;
}
}
if (nums[j+1]!=temp){
nums[j+1]=temp;
}
}
for (int n:nums){//输出结果
System.out.print(" < "+n);
}
}
}
Run;