直接插入排序

//直接插入排序
/*直接插入排序

  插入排序算法的思路:

(1)将整个数组划分成两部分:有序区和无序区。初始情况下,有序区包括数组的第一元素,无序区包括剩余的其他元素。

(2)遍历无序区,每次向有序区增加一个元素,在增加元素后要保证有序区的有序性。*/




package kill;

import java.util.Arrays;

public class TestDemo10 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
            int [] array={23,1,32,87,57,33,19,7,99,13};
            insrtSort(array);
            System.out.println(Arrays.toString(array));  
        }


    public static void insrtSort(int []array){
        //定义有序数组的下标
        int j;
        //从第二个元素开始遍历数组
        for(int i=1;i<array.length;i++){
            //保存新增加的元素
             int tmp = array[i];
            for(j = i-1;j >= 0;j--){
                if(array[j]>tmp){
                    array[j+1]=array[j];//覆盖后一位的值
                }else{//每次排序后已经有序,找到第一个比temp小的;
                    break;//有序就跳出
                }
            }
            array[j+1]=tmp; 
              }
            }
        }
    
    
    

 

posted on 2018-05-20 17:09  番茄疯了  阅读(108)  评论(0)    收藏  举报