美文网首页
插入排序java实现

插入排序java实现

作者: maylor_zhu | 来源:发表于2016-12-27 12:01 被阅读15次

插入排序,就是将数组中的一个个元素插入到已经排好序的数组中.

代码实现:

public static void insertSort2(int[] arr){
    //从第二个元素开始,往前依次比较相邻的两个元素,如果后面的比前面的元素大,则直接终止此次循环.这样可以节省比较次数.
    for (int i = 1; i < arr.length; i++) {
        
        for (int j = i; j > 0; j--) {
            if(arr[j]<arr[j-1]){
                int temp2 =arr[j];
                arr[j] = arr[j-1];
                arr[j-1] = temp2;
            }else{
                break;
            }
        }
    }
}

上面那个是我自己写的,和书上写的还是有一些差距的.
书上的代码:

public static void insertSort(int [] arr){
    int j;
    //遍历列表
    for (int i = 1; i < arr.length; i++) {
        int temp = arr[i];
        for (j = i; j >0&&temp<arr[j-1]; j--) {
            arr[j] = arr[j-1];
        }
        arr[j] = temp;
    }
}

书上的代码比我的简洁,并且由于存储了一个temp,每次比较的时候,只需要进行一次赋值,而我的需要两次赋值,在比较完了之后,跳出循环的时候,在进行一次赋值,这样可以将赋值操作次数最小化.

相关文章

  • java快速学习排序---插入排序

    1.java实现插入排序 (1)、图解插入排序 (2)、插入排序的思想 (3)、插入排序的代码实现

  • 数据结构&算法(一)

    一、Java实现快速排序算法 二、Java实现折半插入排序算法 三、Java实现冒泡排序算法

  • 常见排序的java实现

    常见排序的java实现 常见排序java实现 插入排序(二分插入排序) 希尔排序 快速排序(三数中值快排) 冒泡排...

  • java 实现排序算法之「插入排序」

    java 实现排序算法系列 这是 Java 实现排序算法的第三篇文章——插入排序算法。插入排序可以说成是「一类」简...

  • (306)排序-java实现的选择/插入/希尔排序

    引言 用java实现的选择排序、插入排序、希尔排序。 代码(java) 运行结果

  • Java 实现插入排序

    本文介绍插入排序原理及 Java 语言实现。 目录 插入排序原理 代码实现版本一版本二单元测试 插入排序原理 从第...

  • 插入排序java实现

    //插入排序//基本思想://在要排序的一组数中,假定前n-1个数已经排好序,//现在将第n个数插到前面的有序数列...

  • Java 实现插入排序

    public class InsertSortNumber { public static void main(S...

  • Java实现插入排序

    插入排序(Insertion Sort),是一种简单直观并且稳定的排序算法。 从前到后取每个元素和之后的元素进行比...

  • 插入排序java实现

    插入排序,就是将数组中的一个个元素插入到已经排好序的数组中. 代码实现: 上面那个是我自己写的,和书上写的还是有一...

网友评论

      本文标题:插入排序java实现

      本文链接:https://www.haomeiwen.com/subject/rlpxvttx.html