插入排序Java实现

插入排序Java实现,第1张

插入排序Java实现 排序原理:

1、把所有的元素分为两种,已排序与未排序;

2、找到未排序组中的第一个元素,向已经排序的组中插入;

3、倒序遍历已经排序的元素,依次和待插入的元素进行比较,直到找到一个元素小于待查元素,        那么就把待插元素放到这个位置,其他元素向后移动一位;

 代码实现:
import java.util.Arrays;

public class Insertion {

    public static void sort(Comparable[] a){
      
      for(int i = 1;i0;j--){
              //比较索引j处的值和索引j-1处的值,如果索引j-1处的值比索引j处的值大,则交换数据,如果不大,那么当前位置就是合适的位置,退出循环即可;
              if(greater(a[j-1],a[j])){
                  exch(a,j,j-1);
              }else{break;}
          }
      }
    }
    
    private static  boolean greater(Comparable v,Comparable w){
        return v.compareTo(w)>0;
    }

    
    private static void exch(Comparable[] a,int i,int j){
        Comparable temp;
        temp = a[i];
        a[i]=a[j];
        a[j]=temp;
    }

    public static void main(String[] args) {
        Integer a [] = {4,3,2,10,12,1,5,6};
        Insertion.sort(a);
        System.out.println(Arrays.toString(a));
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5637219.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存