`
akon405
  • 浏览: 45040 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

2012/3/26----插入排序

 
阅读更多
从今天开始系统的学习算法,争取每天用java实现一个算法,然后在发表在iteye。既可以记录自己的学习轨迹,也便于有兴趣的朋友一起来讨论学习。ps:本人还是java新手,欢迎各种讨论学习。
<br>
今天先来一个简单的排序算法:插入排序
/*
 * 插入排序算法的java实现
 * version 1.0 2012/3/26
 * @author akon
 */
package com.akon405.www;
public class InsertSort {
	private int[] A={2,12,32,43,13,45,1,8,23,47,89,90};
	public InsertSort(){
		for(int i=1;i<A.length;i++){
			int key=A[i];
			int j=i-1;
			while(j>=0&&key<A[j]){
				A[j+1]=A[j];
				j--;
			}
			A[j+1]=key;
		}
	}
	public void print(){
		for(int i=0;i<A.length;i++)
		System.out.println(A[i]);
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		InsertSort qs=new InsertSort();
		qs.print();
	}

}

1
0
分享到:
评论
2 楼 akon405 2012-03-30  
wwwmajin 写道
不错 加油哦.

谢谢鼓励,大家共同努力
1 楼 wwwmajin 2012-03-30  
不错 加油哦.

相关推荐

    直接插入排序/快速排序/选择排序/冒泡排序(详细实现算法和性能比较)

    数据结构---直接插入排序/快速排序/选择排序/冒泡排序(详细实现算法和性能比较)

    C语言版的排序方法---插入排序.docx

    插入排序是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序...

    选择排序-插入排序-快速排序-冒泡排序

    本主题将详细探讨四种常见的排序算法:选择排序、插入排序、快速排序以及冒泡排序,它们都是用C语言实现的。以下是这些排序算法的详细解析: 1. **选择排序(Selection Sort)** - 选择排序是一种简单直观的排序...

    经典排序算法源代码-插入排序-选择排序-冒泡排序

    本资源包含三个经典的排序算法的源代码:插入排序、选择排序和冒泡排序,这些都是初级到中级程序员常学习和使用的算法。下面将详细介绍这三个排序算法的工作原理、特点以及代码实现。 1. **插入排序(Insertion ...

    排序算法 -- 插入排序

    **插入排序**是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。这种算法对大数据量的处理效率较低,但对于小规模数据或者部分有序的...

    插入排序 插入排序示例

    ### 插入排序详解 #### 一、插入排序概述 插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上通常采用in-...

    Java代码-排序-直接插入排序、希尔排序、直接选择排序、冒泡排序、堆排序、快速排序、归并排序中部分排序以及算法-贪心法

    Java代码-排序-直接插入排序、希尔排序、直接选择排序、冒泡排序、堆排序、快速排序、归并排序中部分排序以及算法-贪心法,大家可以将源码下载下来进行学习,附带着注释和解释,有不理解的可以找博主一起探讨,共同...

    排序算法-插入排序

    插入排序是一种基础且直观的排序算法,它的工作原理可以类比于整理扑克牌。在实际应用中,插入排序对于小规模数据或者部分有序的数据表现优秀,但对于大规模无序数据,其效率相对较低。以下是关于插入排序的详细知识...

    C#四种排序方法--交换排序 选择排序 冒泡排序 插入排序

    交换排序 选择排序 冒泡排序 插入排序

    8.12-8.19-冒泡-选择-插入-希尔-快速-归并-基数-堆排序-排序算法Swift代码及UI演示

    3. 插入排序(Insertion Sort):插入排序将元素逐个插入到已排序的部分,保持有序。对于小规模数据或部分有序的数据,插入排序效率较高,时间复杂度为O(n^2)。 4. 希尔排序(Shell Sort):希尔排序是插入排序的一...

    排序算法-直接插入排序

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

    2-路插入排序

    本人写的2-路插入排序

    插入排序Java代码

    3. **内部循环**:`while (tmp &gt; arr[j])` 这里需要注意的是,为了正确地实现插入排序,条件应该为 `tmp [j]`。该循环负责将当前元素`tmp`插入到已排序序列的正确位置。 - `int tmp = arr[i];` 保存当前需要插入...

    c++数据结构--插入排序

    ### 插入排序原理及C++实现 #### 1. 插入排序基本概念 插入排序是一种简单直观的比较排序算法。它的工作原理是通过构建有序序列,对于未排序的数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在...

    数据结构 直接插入排序

    ### 数据结构之直接插入排序详解 #### 一、引言 在计算机科学中,排序算法是数据处理中不可或缺的一部分,而直接插入排序是一种简单直观的排序方法。它的工作原理类似于我们手动排序一组卡片的方式——每次从未...

    C语言数据结构-折半插入排序

    折半插入排序(Binary Insertion Sort)是一种改进的插入排序方法,它利用二分查找技术来减少比较次数,从而提高排序效率。现在我们来深入探讨这个主题。 首先,我们要了解插入排序的基本原理。插入排序是一种简单...

    C经典算法之Shell 排序法 - 改良的插入排序

    3. **循环分组**:接下来,根据当前的间隔值进行分组,并对每个组内的元素执行插入排序操作。具体步骤如下: - 遍历数组,将元素按照当前间隔值进行分组,例如当间隔为2时,可以将数组分为两个子序列进行排序。 - ...

    分治策略---归并排序

    3. **合并**: 当两个子数组已经排序完毕后,再将它们合并成一个有序的数组。 #### 三、归并排序的具体实现 1. **分解**: 给定一个数组,将其分为两个子数组。 2. **递归排序**: 对这两个子数组分别进行归并排序。 ...

    使用分治法的插入排序

    **插入排序**是一种基础且广泛使用的排序算法,尤其在数据量较小或者部分有序的情况下表现出较高的效率。它基于分治法的思想,将一个大问题分解成若干小问题来解决。在这个场景中,我们讨论的是如何使用分治法的思想...

Global site tag (gtag.js) - Google Analytics