排序算法(二)插入排序---直接插入排序

  循环整个数组。在数组第二项开始,把数组第二项前面的项当做有序的数列,将数组第二项和  第一项比较,如果第二项比第一项小,则将第二项的数字存放在临时变量中,赋给,,,,

 

 1 public class InsertSort {
 2     public static void main(String[] args) {
 3         int[] arr=new int[]{5,3,2,8,10,1,12,0};
 4         System.out.println(Arrays.toString(arr));
 5         insertSort(arr);
 6         System.out.println(Arrays.toString(arr));
 7     }
 8     
 9     public static void insertSort(int[] arr){
10         //遍历所有的数字
11         for(int i=1;i<arr.length;i++){
12             //如果当前数字比前一个数字小
13             if(arr[i]<arr[i-1]){
14                 //把当前遍历数字存起来
15                 int temp=arr[i];
16                 int j;
17                 //遍历当前数字前面所有的数字
18                 for(j=i-1;j>=0&&temp<arr[j];j--){
19                     //把前一个数字赋给后一个数字
20                     arr[j+1]=arr[j];
21                 }
22                 //把临时变量赋给不满足条件的后一个元素
23                 arr[j+1]=temp;
24             }
25         }    
26     }
27 }

 

转载于:https://www.cnblogs.com/axu521/p/9977268.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值