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

插入排序算法

阅读更多

简单排序算法中速度比较快的一个算法。

 

class ArrayIns{
	private long[]a;      //封装long类型数组a[]
	private int nElems;   //数据量

	public ArrayIns(int max){  //构造
		a=new long[max];     //创建一个数组
		nElems=0;            //初始为空
	}

	//将元素添加到数组中
	public void insert(long value){
		a[nElems]=value;
		nElems++;
	}

	//显示数组内容
	public void display(){
		for(int j=0;j<nElems;j++)   //显示每个元素
			System.out.print(a[j]+" ");   //打印数据
		System.out.println(" ");
	}

	//插入排序主代码
	public void insertionSort(){
		int out, in;	
		
		for (out=1; out<nElems;out++){     //外循环,从最左端开始放			
			long	temp=a[out];
			in = out;
			while(in>0&&a[in-1]>=temp){
				a[in]=a[in-1];
				--in;
			}                                                 
			a[in]=temp;               //插入标记项
			
		}
		
	}
	
	
	//swap方法交换(最好写到程序内部,减少调用)
	private void swap(int one,int two){
		long temp=a[one];
		a[one]=a[two];
		a[two]=temp;
	}

}


class InsertSortApp{
	public static void main(String[] args){
		int maxSize=100;        //数组大小
		ArrayIns arr;           //涉及到的数组
		arr=new ArrayIns(maxSize); //创建数组
		//向数组添加数据
		arr.insert(77);
  	arr.insert(42);
  	arr.insert(85);
  	arr.insert(12);
  	arr.insert(69);  
    arr.insert(98);
    arr.insert(23);
    
    //数组打印
    arr.display(); 
    //将数组中数据排序
    arr.insertionSort();
    //再次打印数组数据
    arr.display();
  }
	
}  


 

0
0
分享到:
评论

相关推荐

    C语言_插入排序法和冒泡排序法

    - **插入排序**:同样也是稳定的排序算法,相等元素的相对位置不会改变。 ### 四、应用场景 - **冒泡排序**:适用于小规模数据或者几乎已经排序的数据。 - **插入排序**:适用于小规模数据,或者是数据已经部分...

    Java直接插入排序算法源码

    总的来说,Java中的直接插入排序算法是一个直观易懂的排序方法,虽然在效率上不敌更高级的排序算法,但它在理解和实现上相对简单,对于初学者来说是很好的学习材料。通过阅读和实践这个源代码,你可以深入理解排序...

    插入排序算法c++实现

    综上所述,"插入排序算法c++实现"涉及到C++基础语法、数组与指针操作、循环和条件控制、排序算法原理、性能分析以及良好的编程习惯等多个方面。通过实践这个项目,开发者不仅可以深入理解插入排序算法,还能提升C++...

    直接插入排序法

    直接插入排序法~~~~~内部排序

    使用C语言写的直接插入排序算法

    ### 使用C语言实现的直接插入排序算法 #### 算法概述 本篇文章将详细介绍一个使用C语言编写的直接插入排序算法。直接插入排序是一种简单的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序...

    希尔排序,直接插入排序,折半插入排序算法.

    综上所述,希尔排序、直接插入排序和折半插入排序都是常见的排序算法。它们各有特点,适用于不同场景下的数据排序需求。希尔排序通过增加子序列的插入排序来提高效率;直接插入排序简单直观,但效率较低;而折半插入...

    插入排序法JAVA代码

    以下是一个简单的Java插入排序算法实现: ```java public class InsertionSort { public static void insertionSort(int[] array) { for (int i = 1; i ; i++) { int key = array[i]; int j = i - 1; // 将比...

    C语言实现的插入排序

    在这个示例中,`insertion_sort`函数实现了插入排序算法,`print_array`函数用于打印数组。主函数`main`中,我们创建了一个数组并调用`insertion_sort`对其进行排序,最后打印排序结果。 插入排序的时间复杂度在...

    插入排序法

    在压缩包中的"插入排序法"可能包含了一个或多个实现插入排序的C++源文件,用于演示和练习如何在实际编程中应用这个算法。通过阅读和运行这些代码,你可以更深入地理解插入排序的运作机制,并提升编程能力。

    c语言 插入排序法

    c语言基本插入排序法c语言基本插入排序法c语言基本插入排序法c语言基本插入排序法

    亂數用插入排序法 C++

    本主题聚焦于“亂數用插入排序法”,即使用插入排序算法对随机生成的数字序列进行排序。插入排序是一种简单直观的排序算法,适用于小规模或部分有序的数据集。以下是关于“亂數用插入排序法”的详细解释。 插入排序...

    插入排序算法C语言程序.zip

    总的来说,这个"插入排序算法C语言程序"项目提供了一个实践插入排序算法的机会,可以帮助开发者加深对排序算法的理解,尤其是在C语言环境下如何实现和优化排序算法。通过分析和运行代码,可以更好地掌握插入排序的...

    数据结构 直接插入排序的算法源程序

    ### 数据结构:直接插入排序算法解析 #### 一、引言 在计算机科学领域,排序是一种常见的操作,用于将一组无序的数据按照特定的顺序排列。插入排序是一种简单直观的排序算法,它的工作原理类似于人们手工排序扑克...

    zhijiecharupaixu.rar_插入排序_插入排序算法

    这个压缩包“zhijiecharupaixu.rar”包含的资源是关于直接插入排序算法的实现和相关资料。 直接插入排序的基本思想是:假设数组中有n个元素,已知前i个元素是有序的,现在要把第i+1个元素插入到已排序的序列中,使...

    冒泡,选择,插入排序算法c语言实现

    冒泡排序算法选择排序算法插入排序c语言实现

    直接插入排序-算法领域中直接插入排序算法详解与Python实现

    使用场景及目标:帮助读者理解直接插入排序算法的内部机制,学会在实际编程中使用Python实现该算法。 其他说明:文中提供了Python实现的直接插入排序算法代码,读者可以通过实践加深对该算法的理解。同时,对于算法...

    经典插入排序算法(c/c++语言)

    插入排序是一种基础且重要的排序算法,它的工作原理类似于人们整理扑克牌的过程。在这个教程中,我们将深入探讨插入排序在C/C++语言中的实现,并理解其背后的逻辑和效率。 ### 插入排序概述 插入排序是一种简单直观...

    堆排序与直接插入排序算法的比较

    堆排序与直接插入排序算法的比较 堆排序和直接插入排序是两种常用的排序算法,分别具有不同的时间和空间复杂度。本文将通过对两种排序算法的实现和比较,分析它们的优缺点,并讨论在不同场景下的应用。 1.1 功能...

    C#实现插入排序算法

    本文将深入探讨C#语言中实现插入排序算法的方法,以及其在升序和降序排序中的应用。 插入排序是一种简单直观的排序算法,它的基本思想是将待排序的数据元素看作是一个有序序列,每次将一个待排序的记录,按其关键字...

    c语言中的插入排序法PPT课件.pptx

    插入排序法是一种简单的排序算法,它通过比较待排序元素与已排序元素的大小,插入到合适的位置,以达到排序的目的。插入排序法的时间复杂度为O(n^2),空间复杂度为O(1)。 知识点二:插入排序法的实现步骤 插入排序...

Global site tag (gtag.js) - Google Analytics