自己写的,欢迎拍
public class InsertionSort {
/**
* 插入排序
* @param args
*/
public static void main(String[] args) {
int[] sourceArray = {22,42,12,73,24,15,31,27,48,9};
InsertionSort is = new InsertionSort();
int[] targetArray = is.sort(sourceArray);
for (int i = 0; i < targetArray.length; i++) {
int j = targetArray[i];
System.out.println(j);
}
}
private int[] sort(int [] sourceArray){
for(int i=1; i<sourceArray.length; i++){
int temp = sourceArray[i];//将要比较的数先拎出来
int j = i;//想象把数组切成两部分sourceArray[j]为已经排好序的
while((j>0) && (temp<sourceArray[j-1])){
sourceArray[j] = sourceArray[j-1];
j--;
}
sourceArray[j] = temp;//把拎出来的数放回到正确的位置
}
return sourceArray;
}
}
砖!!
分享到:
相关推荐
实现以下常用的内部排序算法并进行性能比较:"直接插入排序"," 折半插入排序"," 2—路插入排序"," 表插入排序"," 希尔排序"," 起泡排序"," 快速排序"," 简单选择排序"," 树形选择排序"," 堆排序"," 归并排序"," 链式...
在计算机科学领域,排序算法是数据处理中至关重要的一部分,它涉及到如何有效地重新排列一组数据,使其按照特定的顺序排列。本资源提供了七大经典排序算法的实现程序,包括快速排序、冒泡排序、选择排序、归并排序、...
直接插入排序是一种简单直观的排序算法,它的工作原理类似于打扑克牌时的排序。在已排序的部分序列中,逐个插入未排序元素,每次插入都会从后向前比较,找到合适的插入位置。这种算法对于小规模或接近有序的数组...
插入排序是一种简单直观的排序算法,它的工作原理类似于我们平时整理扑克牌的方式。首先,数组被视为已排序的部分和未排序的部分。每次从未排序部分取出一个元素,找到它在已排序部分的正确位置并插入。这个过程会...
插入排序是一种简单的排序算法,它的基本思想是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。在C++中,可以使用两层循环实现,外层循环控制未排序部分,内层循环寻找插入...
直接插入排序是一种基础且简单的排序算法,它的工作原理类似于我们日常生活中的整理扑克牌。在Java中实现这个算法,我们可以从以下几个关键知识点入手: 1. **基本思想**:直接插入排序是通过构建有序序列,对于未...
本篇文章将详细讨论几种常见的排序算法:选择排序、冒泡排序、插入排序、合并排序以及快速排序,分析它们的算法原理、时间效率,并通过经验分析验证理论分析的准确性。 **1. 选择排序(Selection Sort)** 选择排序...
- 直接插入排序是最基础的排序算法之一,它的工作原理类似于人们手动整理扑克牌。首先,数组中的第一个元素被当作已排序的部分,然后逐个将后续元素插入到已排序的序列中,保持序列的有序性。 - 在排序过程中,每...
插入排序是一种简单直观的排序算法,它的工作原理是通过构造一个有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。其时间复杂度在最坏情况下为O(n^2),在最好情况下(已排序)为O(n)。 ...
**插入排序**是一种基础且直观的排序算法,它的工作原理类似于我们手动整理扑克牌的过程。在本系列的“算法可视化”中,我们将深入探讨插入排序的实现及其在实际编程中的应用。 **一、插入排序的基本概念** 插入...
在这一大类排序算法中,有三种常见的实现方式:直接插入排序、希尔排序和折半插入排序。 ### 1. 直接插入排序 直接插入排序是最基础的插入类排序,其步骤如下: 1. 将序列中的第一个元素视为已排序部分。 2. 从第...
在计算机科学中,排序算法是数据处理的重要组成部分,它们用于将一组无序的数据按照特定顺序进行排列。这里我们将深入探讨七种常用的排序算法,并通过C++语言实现它们。这七种算法分别是:冒泡排序、选择排序、直接...
插入排序(Insertion Sort)是一种简单的排序算法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增 1 的有序表。该算法的实现非常简单,但其时间复杂度为 O(n^2),这使得它在大型...
插入排序算法是一种简单的排序算法,它的工作原理是通过将每个元素插入到已经排序的序列中,以达到排序的目的。插入排序算法的时间复杂度为O(n^2),因此它适合小规模的数据排序。 4.快速排序算法 快速排序算法是一...
插入排序是一种基础且直观的排序算法,它的工作原理可以类比于整理扑克牌。在实际应用中,插入排序对于小规模数据或者部分有序的数据表现优秀,但对于大规模无序数据,其效率相对较低。以下是关于插入排序的详细知识...
直接插入排序是一种简单的排序算法。其思想是:在要排序的一组数中,假设前面(n-1)个数已经是排好顺序的,现在要把第 n 个数插到前面的有序数中,使得这 n 个数也是排好顺序的。如此反复循环,直到全部排好顺序。...
冒泡排序是一种简单的排序算法,它的基本思想是通过重复遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这...
1) 对以下6种常用的内部排序算法进行比较:起泡排序,直接插入排序,简单选择排序,快速排序,希尔排序,堆排序。 2) 待排序记录的文件个数不小于1000( 其数据用伪随机数产生),至少用5组不同的输入数据作比较;比较...
直接插入排序是一种简单的排序算法,它的工作原理类似于我们手动排序扑克牌。算法首先将数组视为已排序部分和未排序部分,然后将未排序部分中的元素逐个与已排序部分的元素比较,找到合适的位置插入。这种算法在...
这里我们将深入探讨标题和描述中提到的六种排序算法:快速排序、归并排序、插入排序、冒泡排序、选择排序以及堆排序。 1. **快速排序**:由C.A.R. Hoare在1960年提出,是一种高效的分治算法。快速排序的基本思想是...