`
buaixianchen
  • 浏览: 24084 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Insert Sort

阅读更多

算法思路:

  1. 从第一个元素开始,该元素可以认为已经被排序
  2. 取出下一个元素,在已经排序的元素序列中从后向前扫描
  3. 如果该元素(已排序)大于新元素,将该元素移到下一位置
  4. 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
  5. 将新元素插入到该位置中
  6. 重复步骤2

算法功能实现:

public static <T extends Comparable> T[] insertSort(final T[] targetArrays) {
		T[] targetArraysBak = targetArrays.clone();
		if (targetArraysBak.length == 1) return targetArraysBak;
		for (int i = 1; i < targetArraysBak.length; i++) {
			T markedPlayer = targetArraysBak[i];
			for (int j = i; j > 0 && markedPlayer.compareTo(targetArraysBak[j - 1]) < 0; j--) {
				targetArraysBak[j] = targetArraysBak[j - 1];
				targetArraysBak[j - 1] = markedPlayer;
			}
		}
		return targetArraysBak;
	}
	
	public static void main(String...args) {
		Integer[] targetArrays = {14, 7, 8, 2, 11, 9};
		System.out.println(Arrays.toString(insertSort(targetArrays)));
	}
分享到:
评论

相关推荐

    JAVA插入排序 insert sort

    for(int i=0;i;i++) { String temp = strArray[i]; while(i&gt;0 && (Integer.parseInt(temp) &gt; Integer.parseInt(strArray[i-1]))) { strArray[i] = strArray[i-1]; i--; } ... }

    插入排序(Insert Sort).md

    在B站讲插入排序的笔记,需要的同学可以免费下载

    C#,插入排序算法(Insert Sort Algorithm)的源代码与数据可视化

    常见的四种排序算法是:简单选择排序、冒泡排序、插入排序和快速排序。其中的快速排序的优势明显,一般使用递归方式实现,但遇到数据量大的情况则无法适用。实际工程中一般使用“非递归”方式实现。...

    java插入排序 Insert sort实例

    1. 直接插入排序(Direct Insertion Sort) 直接插入排序的基本思想是,每次将一个待排序的记录,按其关键字大小插入到前面已经排序的子序列中的适当位置,直到全部记录插入完成为止。在Java中,直接插入排序的实现...

    insert_sort.cpp

    insert_sort.cpp

    排序 快排,shell,insert,select 等

    插入排序(Insert Sort) 插入排序是一种简单直观的比较排序算法。它的工作原理是通过构建有序序列,对于未排序的数据,在已排序序列中从后向前扫描,找到相应位置并插入。 **核心思想:** - 将数组分为已排序...

    03_insert_sort_插入排序算法_

    def insert_sort(arr): for i in range(1, len(arr)): key = arr[i] j = i - 1 while j &gt;= 0 and key [j]: arr[j + 1] = arr[j] j -= 1 arr[j + 1] = key ``` 在这个代码中,`arr`是待排序的数组。外层循环...

    InsertSort.java

    插入排序 依次拿到每个元素,每拿到一个就比较这个元素和前面的所有元素的大小, 然后根据他们的大小值排好顺序,知道拿到最后一个元素,并将其位置排好后,结束整个排序过程

    java排序大全

    根据给定的文件信息,我们将深入探讨Java中的各种排序算法,包括插入排序(Insert Sort)、冒泡排序(Bubble Sort)、选择排序(Selection Sort)、希尔排序(Shell Sort)以及快速排序(Quick Sort)。这些排序方法...

    Java语言实现的各种排序

    这些排序算法包括插入排序(Insert Sort)、冒泡排序(Bubble Sort)、选择排序(Selection Sort)以及希尔排序(Shell Sort)。此外,还提到了快速排序(Quick Sort),但示例代码不完整。 ### 插入排序(Insert ...

    java 各种算法集合

    根据提供的文件信息,我们可以看到这段代码包含了四种不同的Java排序算法:插入排序(Insert Sort)、冒泡排序(Bubble Sort)、选择排序(Selection Sort)以及希尔排序(Shell Sort)。下面将详细介绍这些算法及其...

    各种排序算法java实现

    这些算法包括插入排序(Insert Sort)、冒泡排序(Bubble Sort)、选择排序(Selection Sort)以及希尔排序(Shell Sort)。接下来,我们将逐一分析每种排序算法的工作原理、特点及其实现细节。 ### 插入排序...

    Java常见排序算法.pdf

    插入排序(Insert Sort) 插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常使用in-place排序(即只...

    各类排序算法java的实现

    这些算法包括插入排序(Insert Sort)、冒泡排序(Bubble Sort)、选择排序(Selection Sort)以及希尔排序(Shell Sort)。接下来,我们将逐一分析每种排序算法的具体实现,并讨论它们的特点、效率以及适用场景。 ...

    java中的算法.pdf

    在《java中的算法.pdf》文档中,我们看到了Java语言实现的几种基本排序算法,包括插入排序(Insert Sort)、冒泡排序(Bubble Sort)、选择排序(Selection Sort)、希尔排序(Shell Sort)和快速排序(Quick Sort)...

    用Java实现几种常见的排序算法

    根据提供的文件信息,本文将详细介绍如何使用Java语言来实现几种常见的排序算法,包括插入排序(Insert Sort)、冒泡排序(Bubble Sort)、选择排序(Selection Sort)以及希尔排序(Shell Sort)。这些排序算法在...

    排列问题再讨论

    注意前面有“Insert sort:”或“Natural merge sort:”或“Quick sort:”等输出前缀,格式以上文程序为准。 输入样例 9 3 5 2 1 7 8 1 5 9 8 5 2 1 7 3 1 5 9 5 9 2 1 7 8 1 3 5 输出样例 Insert sort: 1 1 2 ...

    java排序算法.pdf

    文档中所列的排序算法包括插入排序(Insert Sort)、冒泡排序(Bubble Sort)、选择排序(Selection Sort)、希尔排序(Shell Sort)、快速排序(Quick Sort)、改进的快速排序(Improved Quick Sort)、归并排序...

    Java经典面试题-算法.docx

    一、插入排序(Insert Sort) 插入排序是一种简单的排序算法,它的工作原理是将待排序的数组分成两部分:已经排好序的部分和未排好序的部分。每次从未排好序的部分中取出一个元素,并将其插入到已经排好序的部分中...

    用Java实现几种常见的排序算法.txt

    根据提供的文件信息,我们可以总结出该文档主要涉及了五种基于Java实现的排序算法:插入排序(Insert Sort)、冒泡排序(Bubble Sort)、选择排序(Selection Sort)、希尔排序(Shell Sort)以及快速排序(Quick ...

Global site tag (gtag.js) - Google Analytics