`
伤心眼泪
  • 浏览: 55807 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

《算法导论》插入排序的java实现

阅读更多
最近打算从头学习算法导论,推荐去网易看网易公开课,有麻省理工学院公开课:算法导论,有喜欢的同学去看吧。
第一个算法,就是插入排序了,java实现如下:
package sort;

public class InsertSort {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] array={5,2,4,56,6,7,3};
		sort(array);
		for(int val:array){
			System.out.print(val+" ");
		}
	}

	public static void sort(int[] array){
		for(int i=0;i<array.length;i++){
			//取出当前要插入的值,比如第三位4
			int insertVal = array[i];
			//拿当前要插入的值和前一位2比,5比,一直比到第一位
			int index = i-1;
			while(index>=0&&array[index]>insertVal){
				//如果插入的值比前一位小,则将前一位的值赋给插入位置,再拿当前值和前一位的前一位5比
				array[index+1]=array[index];
				index--;
			}
			array[index+1]=insertVal;
		}
	}
}

分享到:
评论

相关推荐

    算法导论中算法的java实现

    文件名"introduction_ao_algorithm"可能是一个介绍性的资料或者代码库,可能包含了《算法导论》中部分算法的基础讲解和Java实现。这个资源可能是按照算法类别进行组织的,比如排序算法、图算法等,每个类别的下面会...

    算法导论-java

    《算法导论-Java》是计算机科学领域的重要教材,它深入浅出地介绍了算法的设计、分析和实现。这本书对于任何想要提升编程技能,尤其是Java程序员来说,都是不可或缺的资源。算法是解决复杂问题的关键,它们是程序的...

    Java 算法导论 电子书

    1. **基础算法**:书中会涵盖排序和搜索算法的基础知识,如冒泡排序、插入排序、选择排序、快速排序、归并排序以及二分查找等。这些基本算法是所有程序员应具备的基础,它们在数据处理和信息检索中发挥着关键作用。 ...

    算法导论部分实现代码Java版

    《算法导论》是计算机科学领域的一本经典著作,它深入浅出地介绍了各种重要的算法,并...通过研究这个Java版本的《算法导论》实现,开发者可以加深对算法的理解,提高编程技能,并能够灵活运用这些算法解决实际问题。

    算法导论_java_

    《算法导论》是计算机科学领域的一本经典著作,它深入浅出地介绍了算法的设计、分析和实现。这本书广泛应用于大学计算机科学课程中,对于学习和理解算法有着极高的价值。在Java编程环境下,我们可以利用Java语言来...

    算法导论第四版 英文

    《算法导论第四版》系统地介绍了多种排序算法,如冒泡排序、选择排序、插入排序、快速排序、归并排序和堆排序等。书中不仅解释了每种算法的工作原理和性能特性,还对比了它们在不同情况下的应用效果。此外,作者还...

    算法导论学习资料共享

    《算法导论学习资料共享》是一份集合了多种算法实现的学习资源,主要针对《算法导论》这本书中的经典问题和算法。这份资料包含了Java语言实现的常见排序算法、装配线问题、最长公共子序列问题、矩阵连乘问题、优先...

    算法导论第1-16章编程题答案

    《算法导论》是计算机科学领域的一本经典著作,它深入浅出地介绍了各种重要的算法,并配以详尽的分析和实例。这份压缩包文件包含了该书第1至16章的部分编程题目的Java实现,对于学习算法和提高编程技能来说,是一个...

    我们学校的算法导论实验要求

    1. 实现合并排序、插入排序、希尔排序、快速排序、冒泡排序和桶排序这六种排序算法。 2. 使用随机生成的不同大小(N=10, 1000, 10000, 100000)的浮点数数组进行测试。 3. 记录并输出N=10时的排序结果,以及N=1000, ...

    算法导论中文版第二版(书+课后习题答案)

    《算法导论》是计算机科学领域的一本经典著作,它深入浅出地介绍了算法的设计、分析和实现。这本书的中文版第二版对于中国读者来说,无疑是理解和掌握算法知识的重要资源。书中涵盖了各种基础和高级算法,包括排序、...

    算法导论(含原书图片)

    《算法导论》是一本广泛认可的计算机科学经典教材,其深入浅出地介绍了各种算法的设计、分析和实现。这本书的电子版包含了原书的图片,使得读者在阅读过程中能够更好地理解和掌握复杂的算法示意图。"含数学符号"的...

    算法导论(英文原版html格式)

    首先,排序算法是书中的一大重点,包括冒泡排序、插入排序、选择排序、快速排序、归并排序以及堆排序等。这些排序算法各有优缺点,适用于不同的数据结构和场景。快速排序以其平均时间复杂度为O(n log n)而广受青睐,...

    算法导论课后习题2.3-7和思考题2-4答案源码

    总的来说,这组源码提供了一个实践《算法导论》理论知识的机会,无论是对合并排序的实现还是逆序对的计数,都是对数据结构和算法基础的巩固。通过实际编写和运行这些代码,读者可以更好地掌握这些重要概念,并为后续...

    算法导论1.docx

    算法导论 以下是对算法导论的知识点总结: 链表的基本概念 在算法导论中,链表是一种基础的数据结构,它是由一系列的结点组成的,每个结点包含一个值和指向下一个结点的指针。链表可以用来实现各种算法,如排序、...

    算法导论 中文版 + 英文版 + 课件

    《算法导论》是一本广泛认可的计算机科学经典教材,涵盖了算法设计、分析以及实现的核心概念。这本书由Thomas H. Cormen、Charles E. Leiserson、Ronald L. Rivest和Clifford Stein合著,是全球许多大学计算机科学...

    中科大算法导论实验源码和报告

    问题描述:实现合并排序,插入排序,希尔排序,快速排序,冒泡排序,桶排序算法 实验要求: A. 在随机产生的空间大小分别为 N = 10, 1000,10000,100000 的排序样本(取值为[0,1])上测试以上算法。 B.结果...

    算法导论 很不错的资料

    在算法设计方面,《算法导论》涵盖了基础的排序算法如冒泡排序、选择排序、插入排序,以及更高效的算法如快速排序、归并排序和堆排序。这些算法不仅讲解了工作原理,还分析了它们的时间复杂性和空间复杂性,让读者...

    算法导论&算法基础

    《算法导论》与《算法基础》是两本在计算机科学领域至关重要的教材,它们为初学者和有经验的程序员提供了全面而深入的算法知识。这两本书分别从不同的角度和深度探讨了算法的世界,帮助读者理解和掌握如何设计、分析...

    麻绳理工-算法导论

    1. **排序算法**:排序是数据处理的基础,如冒泡排序、选择排序、插入排序、快速排序、归并排序和堆排序等,每种都有其适用场景和性能特点。快速排序以其平均时间复杂度O(n log n)而广受欢迎,而归并排序则保证了...

    中科大软件学院算法导论实验报告

    实验可能涵盖了排序算法(如冒泡排序、选择排序、插入排序、快速排序、归并排序等)、查找算法(线性查找、二分查找等)、图算法(如深度优先搜索、广度优先搜索、最短路径算法Dijkstra或Floyd-Warshall等)和动态...

Global site tag (gtag.js) - Google Analytics