直接插入排序Java实现
/**
* 直接插入排序 把i插入已排好序的i-1的数组里面
*
*/
public static int[] straighStor() {
int B[] = { 1,13,26,32,55,76,24,54,48,99,48,66,54};
// /int B[] = new int[C.length];
int temp = 0;
for (int i = 1; i <= B.length-1 ; i++) {
if (B[i] < B[i - 1]) {
temp = B[i];
B[i] = B[i - 1];
for (int j = i - 1; temp < B[j]; j--) {
// 向后移动
B[j + 1] = B[j];
B[j] = temp;
}
}
}
return B;
}
后面补充对排序算法的分析:
分享到:
相关推荐
本话题主要探讨六种内部排序算法:直接插入排序、希尔排序、冒泡排序、快速排序、选择排序以及堆排序。这六种排序算法各有优劣,适用于不同的场景,接下来我们将逐一进行详细阐述。 1. **直接插入排序**: 直接...
(1) 完成5种常用内部排序算法的演示,5种排序算法为:快速排序,直接插入排序,选择排序,堆排序,希尔排序; (2) 待排序元素为整数,排序序列存储在数据文件中,要求排序元素不少于30个; (3) 演示程序开始,...
本文将深入探讨Java编程语言中实现的七种主要排序算法:直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序以及归并排序。每种算法都有其独特性,适用于不同的场景和数据特性。 1. **直接插入排序**:...
实现以下常用的内部排序算法并进行性能比较:"直接插入排序"," 折半插入排序"," 2—路插入排序"," 表插入排序"," 希尔排序"," 起泡排序"," 快速排序"," 简单选择排序"," 树形选择排序"," 堆排序"," 归并排序"," 链式...
1. 直接插入排序: 直接插入排序是一种简单直观的排序算法,它的工作原理类似于我们日常生活中整理扑克牌的过程。首先,将数组分为已排序区和未排序区,每次从未排序区取出一个元素,找到已排序区中适当的位置将其...
1. 直接插入排序: 直接插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。当n=23, 26, 29, 212, 215, 218, 221时,这种排序...
3. 直接插入排序: 直接插入排序是一种简单的排序方法,它的工作原理类似于玩扑克牌时整理手牌的过程。首先,将第一个元素视为已排序,然后将后面的每个元素与已排序的部分进行比较,找到合适的位置并插入。这种方法...
1. 直接插入排序: 直接插入排序是一种简单直观的排序算法,类似于手动整理扑克牌。它的工作原理是将每个元素插入到已排序的序列中的正确位置。对于字符串排序,比较的是字符串的字典顺序。在C语言中,可以使用`...
- 直接插入排序:它通过将每个元素逐个插入已排序的序列中来构建最终的有序序列。时间复杂度为O(n^2),但在处理近乎有序的数据时效率较高,可达到O(n)。 - 希尔排序:是插入排序的一种优化,通过设置间隔序列...
2. 直接插入排序: 直接插入排序是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。这个过程在代码中通过"insert"函数实现,它将新元素与已排序的部分依次比较,找到合适的位置插入。...
快速排序和直接插入排序是两种常见的排序算法,它们各自具有不同的特性和应用场景。在实际编程中,有时会根据数据特点和需求将这两种排序方法结合使用,以达到更高效的排序效果。 快速排序是一种由C.A.R. Hoare在...
- 插入排序:直接插入排序是将元素逐个插入到已排序部分,如插入排序。 - 交换排序:通过交换元素来排序,如快速排序、冒泡排序。 - 选择排序:每次选择最小(或最大)元素放入正确位置,如简单选择排序。 - ...
5. 插入排序:对于未排序的元素,依次将其插入到已排序部分的正确位置,类似于玩扑克牌时整理手牌的过程。对于小规模数据或部分有序的数据,插入排序效率较高。 6. 希尔排序:是对插入排序的一种改进,通过设置一个...
### 直接插入排序与希尔排序的比较 #### 一、概述 本篇文章将通过一组具体的数据集(8个整数)对直接插入排序(Direct Insertion Sort)和希尔排序(Shell Sort)这两种排序方法进行深入分析和比较。这两种排序...
1. 直接插入排序: 直接插入排序是一种简单的排序算法,它的工作原理类似于打扑克牌。每次将一个元素插入到已排序的序列中的适当位置。对于n个元素,插入操作会进行n-1次,因此比较次数为O(n^2),移动次数也是O(n^2)...
直接插入排序、冒泡排序、快速排序、直接选择排序、堆排序和二路归并排序是计算机科学中经典的排序算法,它们在数据处理和算法学习中占有重要地位。这些排序算法各有特点,适用场景不同,下面将逐一详细介绍,并结合...
堆排序与直接插入排序算法的比较 堆排序和直接插入排序是两种常用的排序算法,分别具有不同的时间和空间复杂度。本文将通过对两种排序算法的实现和比较,分析它们的优缺点,并讨论在不同场景下的应用。 1.1 功能...
1. 直接插入排序: 直接插入排序是一种简单直观的排序算法,它的工作原理类似于我们平时手动排序扑克牌。首先,假设数组的第一个元素已经排序,然后遍历剩下的元素,将每个元素插入到已排序部分的正确位置。这个过程...
1. 直接插入排序: 直接插入排序是一种简单的排序算法,它的基本操作是比较和移动。该算法的时间复杂度为O(n^2),它适用于小规模的数据排序。 2. 堆排序: 堆排序是一种树形排序算法,它的基本操作是构建堆和堆调整...
根据提供的文件信息,我们可以深入探讨几种经典的排序算法:冒泡排序、直接插入排序、快速排序以及希尔排序。这些算法在数据结构与算法课程中是非常重要的基础内容,它们各自有着独特的特性和应用场景。 ### 1. ...