`
modun
  • 浏览: 149763 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

数值排序--插入算法

阅读更多

写在这里做个纪念,关键是要理解插入点,在插入点,初始的in和out都在这个插入点,然后通过in自减对数组进行重新排序

	public static void insertSort(){
		for(int out=1; out<a.length; out++){
			int temp = a[out];
			int in = out;
			while(in>0&& a[in-1]>temp){
				a[in] = a[in-1];
				--in;
			}
			a[in] = temp;
		}
	}

 

分享到:
评论

相关推荐

    排序算法-直接插入排序

    直接插入排序是一种基础且简单的排序算法,它的工作原理可以形象地比喻为扑克牌的洗牌过程。在实际应用中,虽然对于大规模数据的排序效率不如更高级的算法,如快速排序、归并排序等,但它的实现简单,适合小规模或...

    算法-理论基础- 排序- 桶排序(包含源程序).rar

    3. **桶内排序**:对每个非空的桶进行排序,可以采用其他排序算法,如插入排序、快速排序等。对于小规模数据或几乎有序的数据,可以选择简单排序算法;对于大规模数据,可以考虑更高效的算法。 4. **收集结果**:...

    排序算法.doc 详细讲解了插入排序、交换排序、选择排序、归并排序等排序算法的原理以及实现代码

    排序算法是计算机科学中至关重要的一部分,它涉及到对一组数据进行有规则的排列,通常的目标是按照数值的升序或降序排列。本文主要探讨四种基本的排序算法:插入排序、交换排序、选择排序和归并排序,这些都是内部...

    C常用算法程序集非数值计算排序

    常见的非数值计算排序算法包括冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。每种排序算法都有其特定的使用场景、性能特点和复杂度。 冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历...

    SPT-08-排序-交换和选择.pdf

    常见的内部排序算法包括插入排序、交换排序、选择排序、归并排序和计数排序等。 插入排序是基于一个元素一个元素地插入到已排序序列中的基本排序方法,它包含直接插入排序、折半插入排序和2路插入排序等变体。选择...

    排序算法课程设计报告

    - **实现多种排序算法**:至少实现三种排序方法(如插入排序、冒泡排序、快速排序),并通过随机生成的大规模数据集进行测试。 - **性能比较**:记录并比较每种排序方法在处理大规模数据集时所需的运行时间,分析其...

    计算机算法集锦-2-排序算法

    在计算机科学领域,排序算法是数据处理的核心技术之一,它涉及到如何有效地重新排列一组数据,使其按照特定的顺序(如升序或降序)排列。本资料集锦专注于C语言实现的排序算法,适合初学者深入理解和掌握。下面将...

    排序:插入排序,选择排序,基数排序,冒泡排序

    在本文中,我们将深入探讨四种经典的排序算法:插入排序、选择排序、基数排序和冒泡排序,以及它们在C++语言中的实现。 **插入排序(Insertion Sort)** 插入排序是一种简单直观的排序算法,它的工作原理类似于我们...

    插入和冒泡排序算法Demo

    **插入排序与冒泡排序算法详解** 在计算机科学中,排序是数据处理的重要部分,它涉及到将一组数据按照特定顺序排列。插入排序和冒泡排序是两种基础且经典的排序算法,它们都属于简单排序方法,适合小规模或者部分...

    Python语言程序设计课教程 中英双语课件 Python中的1ADS算法-6-排序算法 共118页.pptx

    排序算法的主要目标是重新组织一个给定的数值列表,按照升序或降序排列其元素。这涉及到对列表的原地排序,即不创建额外的临时列表来存储中间结果,而是直接在原始列表上进行操作。例如,一个未经排序的列表[75, 14,...

    C语言数值算法程序大全(第二版中文版)

    6. 排序算法,包括冒泡排序、选择排序、插入排序等基本排序方法,以及更为高效的堆排序和快速排序算法。通过这些算法的介绍,本书旨在帮助读者提升程序效率,特别是在处理大量数据时的性能优化。 7. 求根和非线性...

    内部排序 希尔排序和直接插入排序的比较

    - **稳定性**:直接插入排序是稳定的排序算法,而希尔排序则不是。 - **适用场景**:对于较小的数据量或者部分有序的数据,直接插入排序可能更高效;而对于大数据量或无序数据,希尔排序更为适合。 通过上述实验,...

    数据结构中各种排序算法的比较与分析

    - **直接插入排序**:直接插入排序是最简单直观的插入类排序算法之一。它的过程类似于打牌时一边抓牌一边整理牌的过程。具体实现上,该算法遍历整个待排序序列,每次将一个元素插入到已排序序列的合适位置,以保持已...

    数据结构课程设计(内部排序算法比较_C语言)

    ### 数据结构课程设计:内部排序算法比较_C语言 #### 一、课题背景与意义 排序作为数据结构中的重要组成部分,在实际开发中具有广泛的应用场景。理解不同排序算法的特点及其适用场景,对于提高程序效率和解决问题...

    八种排序算法程序(算法与设计,数据结构)

    这八种算法包括:直接插入排序、希尔排序、冒泡排序、快速排序、基数排序、堆排序以及2路归并排序和折半插入排序。下面我们将对每一种算法进行详细介绍。 1. **直接插入排序**:这是一种简单的排序算法,它将待排序...

    8种排序算法(选择排序 冒泡排序 快速排序等~)

    希尔排序首先将待排序的元素按增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减少到1时,整个文件恰被分成一组,算法便终止。 6. **归并排序(Merge Sort)** 归并...

    十大经典排序算法.docx

    ### 十大经典排序算法详解 #### 一、概述 排序算法是计算机科学中的一个基础概念,也是数据处理中常用的技术之一。它主要用于将一系列无序的数据按照特定规则(如数值大小、字母顺序等)进行排列。根据不同的应用...

    排序、树、图、数值算法大全

    实现排序,树,图,数值算法: 1、排序: 插入排序 合并排序 堆排序 快速排序 2、树算法 红黑树 B树 3、图算法 深度优先周游 广度优先周游 队列拓扑排序 深度优先搜索拓扑 单源最短路径 每对顶点最短距离 最小支撑树...

    数据结构中五种最基本的排序算法,包括插入,选择,希尔,快速,冒泡排序

    在实现这些排序算法时,程序会从文件中读取随机生成的数值,这是因为真实世界的数据往往存储在文件中。通过用户友好的菜单界面,用户可以选择不同的排序算法进行操作。同时,程序会记录每种算法执行时的比较次数和...

    数字排序算法

    比较排序通过比较元素对来决定排序顺序,常见的有冒泡排序、选择排序、插入排序、快速排序、堆排序、归并排序等。而非比较排序则不依赖于元素间的比较,而是基于元素的特定属性,如基数排序、计数排序和桶排序等。 ...

Global site tag (gtag.js) - Google Analytics