zoukankan      html  css  js  c++  java
  • 直接插入排序---java实现

    思路:遍历无序的原数组,把第i个的后一个即i+1去与前面的i个逐个比较...

    解法一:

    package com.sheepmu.text;
    
    import java.util.Arrays;
      /*   
      * @author sheepmu
      */ 
    public class Sort {
    	 public static void main(String[] args){
    		 int[] arr={64,5,7,89,6,24};
    		 insertSort(arr);
    		 System.out.println(Arrays.toString(arr));
    	 }	 	 
    	 public static void insertSort(int[] arr){
    		 int len=arr.length;
    		 int temp=0;
    		 for(int i=0;i<len-1;i++){//要len-1,不然后面i+1要越界。
    			  temp=arr[i+1];	 
    			  for(int  j=i;j>=0;j--){
    				  if(temp<arr[j]){
    					  arr[j+1]=arr[j];
    					  arr[j]=temp;
    					  }
    			  }
    			 
    		 }
    	 }
    }	 
     
    解法二:

    package com.sheepmu.text;
    
    import java.util.Arrays;
      /*   
      * @author sheepmu
      */ 
    public class Sort {
    public static void main(String[] args){
    int[] arr={64,5,7,89,6,24};
    insertSort(arr);
    System.out.println(Arrays.toString(arr));
    }  
    public static void insertSort(int[] arr){
    int len=arr.length;
    int j,temp=0;
    for(int i=0;i<len-1;i++){//要len-1,不然后面i+1要越界。
     temp=arr[i+1];
     j=i;
     while(j>=0&&temp<arr[j]){
     arr[j+1]=arr[j];
      j--;
     }
     arr[j+1]=temp;//因为上面运行完了后j--咯,所以这里是arr[j+1]=temp;而不是arr[j]=temp;
    }
    }
    }  
     
    


  • 相关阅读:
    python函数练习题2
    python函数练习题1
    数字是否是10的整数倍
    关于循环的作业:登陆程序
    用for循环写这段代码
    while循环语句
    在CentOS8 上安装Python3
    时隔半年再写购物车程序并改进
    vue上传
    根据生日计算年龄
  • 原文地址:https://www.cnblogs.com/oversea201405/p/3766906.html
Copyright © 2011-2022 走看看