`
hongjn
  • 浏览: 56617 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

插入排序(InsertionSort)Java实现

阅读更多
插入排序:它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。【引用·维基百科】
Java代码实现的两种方法:
public class InsertionSort {

    public static void sort(Comparable[] data) {

        for (int i = 1; i < data.length; i++) {
            Comparable key = data[i];
            int j = i;
            while (j > 0 && data[j - 1].compareTo(key) < 0) {
                data[j] = data[j - 1];
                j--;
            }
            data[j] = key;
        }
    }

    public static void sort1(Comparable[] data) {
        for (int i = 1; i < data.length; i++) {
            Comparable key = data[i];
            int j = i;
            for (; j > 0 && data[j - 1].compareTo(key) < 0; j--) {
                data[j] = data[j - 1];
            }
            data[j] = key;
        }
    }
}

插入排序不适合对于数据量比较大的排序应用。但是,如果需要排序的数据量很小,例如,量级小于千,那么插入排序还是一个不错的选择。
1
2
分享到:
评论

相关推荐

    插入排序 java实现

    在Java中实现插入排序,主要涉及以下几个关键步骤: 1. **初始化**:创建一个方法,如`public static void insertionSort(int[] arr)`,接收一个整数数组作为参数。 2. **外层循环**:遍历数组,从第二个元素...

    插入排序的Java代码实现

    本文将详细讲解插入排序的概念、原理,并提供一个Java语言的实现示例。 插入排序是一种基本的排序算法,它的工作原理类似于我们平时整理扑克牌的过程。想象一下,你有一堆未排序的牌,每次取出一张牌,将其插入到已...

    插入排序介绍和java代码实现

    "插入排序介绍和java代码实现" 插入排序是一种简单直观的排序算法,它将待排序的元素分为已排序和未排序两部分,通过将未排序的元素逐个插入到已排序的部分中,最终完成排序。下面是插入排序的知识点总结: 一、...

    Java数据结构及算法实例:插入排序 Insertion Sort

    在Java中,我们可以看到以下代码实现了一个插入排序的示例: ```java public class InsertionSort { public static void main(String[] args) { InsertionSort insertSort = new InsertionSort(); int[] ...

    插入排序算法的 java实现

    2. **Java实现**: - 定义一个名为`insertionSort`的方法,接受一个整型数组作为参数。 - 使用两层循环来实现插入排序。外层循环遍历数组的所有元素,内层循环用于找到当前元素的正确位置。 - 在内层循环中,如果...

    插入排序和归并排序的实现java

    这里我们将深入探讨两种常见的排序算法:插入排序(Insertion Sort)和归并排序(Merge Sort),它们都是在Java环境下实现的。 **插入排序**是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序...

    插入排序法JAVA代码

    在Java中实现插入排序,我们可以创建一个名为`insertionSort`的方法,接受一个整数数组作为参数。这个方法通过两个嵌套的循环来完成排序。外层循环遍历数组中的每个元素,内层循环则用于找到当前元素的正确位置并将...

    各种排序算法比较(java实现)

    2. **插入排序(Insertion Sort)**: 插入排序是一种简单的排序算法,它通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O...

    快速和插入排序

    在`InsertionSort.java`文件中,应该有一个名为`insertionSort`的函数,实现插入排序的逻辑。 **测试** `test.java`文件可能是用来测试这两种排序算法的代码,它可能包含了主函数,用于创建测试数组,并调用快速...

    冒泡排序、直接插入排序 等java代码

    在这些示例中,`bubbleSort`方法实现了冒泡排序,而`insertionSort`方法实现了直接插入排序。这两个方法都接受一个整型数组作为参数,然后对数组进行排序。 总结来说,冒泡排序和直接插入排序是两种基础但重要的...

    插入排序(Insertion Sort)源码和运行示例

    插入排序(Insertion Sort)源码和运行示例,配合博客使用更佳。

    java 冒泡法、选择法、插入法排序实现代码

    3. **插入排序(Insertion Sort)**: 插入排序是一种简单的排序算法,它通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需要...

    java 直接插入排序

    下面我们将详细探讨Java实现的直接插入排序算法: 1. **算法步骤** - 初始化:设置一个空的有序序列,将第一个元素视为已排序。 - 遍历:从第二个元素开始遍历数组,将其称为当前元素。 - 比较:将当前元素与已...

    Java直接插入排序算法源码

    3. **Java实现**:在Java中,我们通常会使用一个for循环来遍历未排序部分,然后在一个while循环中找到插入位置。为了减少元素的移动次数,可以使用一个临时变量存储待插入的元素,然后在找到正确位置时,从后向前...

    InsertionSort:使用插入排序算法将整数插入排序列表的 Java 程序

    #Insertion Sort 这些挑战将涵盖插入排序,一种简单直观的排序算法。 我们将首先从一个已经排序的列表开始。 #Insert element into sorted list 给定一个排序列表,在最右边的单元格中有一个未排序的数字 V,你能...

    java插入排序与合并排序

    public void insertionSort(int[] arr) { for (int i = 1; i ; i++) { int key = arr[i]; int j = i - 1; while (j &gt;= 0 && arr[j] &gt; key) { arr[j + 1] = arr[j]; j--; } arr[j + 1] = key; } } // 合并...

    Java插入排序代码示例

    插入排序是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并...insertionSort方法接受一个整数数组作为参数,并通过插入排序算法对其进行排序。

    Java 插入排序代码示例

    插入排序是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并...insertionSort方法接受一个整数数组作为参数,并通过插入排序算法对其进行排序。

    Java 插入排序

    在Java中,我们可以创建一个名为`InsertionSort`的类来实现插入排序。 以下是一个简单的`InsertionSort`类的实现,它接受一个整型数组作为参数,并对其进行插入排序: ```java public class InsertionSort { ...

    Java实现插入排序.rar

    本资源“Java实现插入排序.rar”聚焦于插入排序这一经典算法的Java实现,它对于理解排序算法的工作原理和提升编程技能大有裨益。 插入排序是一种简单直观的排序算法,它的工作原理可以类比于我们手动整理扑克牌的...

Global site tag (gtag.js) - Google Analytics