`
xiaomijsj
  • 浏览: 20267 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

七大基本排序算法之插入排序

 
阅读更多

 

import java.io.IOException;
import Input.InputString;

/**
 * 插入排序
 * @author xiaomi
 * 2012.3.29
 */
public class InsertSort {
	public static void main(String[] args) throws IOException{
		String s = InputString.getString();
		String[] str = s.split(" ");
		int[] a = new int[str.length];
		for(int i = 0;i < str.length;i++){
			a[i] = Integer.parseInt(str[i]);
		}
		insertSort(a);
		insertSort_i(a);
		for(int i = 0;i < a.length;i++){
			System.out.print(a[i]+" ");
		}
	}
	
	//method1
	public static void insertSort(int[] a){
		int out,in;
		for(out = 1;out < a.length;out++){
			for(in = 0;in<out;in++){
				if(a[out]<a[in]){
					break;
				}
			}
			int temp = a[out];
			for(int i = out;i > in;i--){
				a[i] = a[i-1];
			}
			a[in] = temp;
		}
	}
	
	//method2
	public static void insertSort_i(int[] a){
		int out,in;
		for(out = 1;out < a.length;out++){
			int temp = a[out];
			in = out;
			while(in>0&&a[in-1]>=temp){
				a[in] = a[in-1];
				in--;
			}
			a[in] = temp;
		} 
                 }
   
//method3
public static void insertsort(int[] a){
		for(int out = 0; out < a.length; out++){
			for(int in = out; in > 1; in--){
				if(a[in] < a[in-1]){
					int temp = a[in];
					a[in] = a[in-1];
					a[in-1] = temp;
				}
			}
		}
	}
 

 

七大基本排序算法之冒泡排序

七大基本排序算法之选择排序

七大基本排序算法之插入排序

七大基本排序算法之希尔排序

七大基本排序算法之堆排序

七大基本排序算法之快速排序

七大基本排序算法之归并排序

分享到:
评论

相关推荐

    七大排序算法--c语言是实现

    七大排序算法如下: 交换排序:快速排序quicksort,冒泡排序bubblesort 选择排序:直接选择排序selectionsort,堆排序maxheapsort 插入排序:直接插入排序insertsort,希尔排序shellsort 合并排序:归并排序...

    常见经典排序算法(C语言)1希尔排序 二分插入法 直接插入法 带哨兵的直接排序法 冒泡排序 选择排序 快速排序 堆排序.docx

    在计算机科学中,排序算法是一种基本且重要的算法。它的主要作用是将无序的数据序列变换为有序的数据序列,以便于后续的数据处理和分析。常见的经典排序算法有希尔排序、二分插入法、直接插入法、带哨兵的直接排序法...

    MoreWindows白话经典算法之七大排序第2版(高清)

    在第一版的基础上新加了对冒泡排序,直接插入排序,直接选择排序,希尔排序,归并排序,快速排序和堆排序这七种常用的排序方法的总结篇,方便大家复习,合适作为笔试面试前的复习资料。

    七大排序算法

    包含(归并排序、堆排序、希尔排序、快速排序、冒泡排序、直接插入/选择排序)七种排序算法的C++代码实现

    排序算法.pdf

    1. 熟练运用冒泡排序、选择排序、插入排序、希尔排序、快速排序、合并排序、堆排序等七种常见的内排序算法 2. 使用不同的数据结合计算各种算法的运行时间,验证算法的时间复杂性 3. 能够运用二路归并算法进行外排序 ...

    MoreWindows白话经典算法之七大排序

    包括冒泡排序,直接 插入排序,直接选择排序,希尔排序,归并排序,快速排序和堆 排序这七种常用的排序方法,

    七种排序算法(包括直接插入排序,折半插入排序,希尔排序,冒泡排序,快速排序,简单选择排序,归并排序)

    七种排序算法(包括直接插入排序,折半插入排序,希尔排序,冒泡排序,快速排序,简单选择排序,归并排序) 还有两道题 1./*设计并实现一个有效的对n个整数重排的算法,使得所有负数位于非负数之前,给出算法的性能...

    排序算法的比较课程设计实验报告.pdf

    排序算法是计算机科学中的一种基本算法,它的目的是将一个无序的序列变成一个有序的序列。不同的排序算法有不同的实现方法和时间复杂度,本实验中我们将比较和分析三种常见的排序算法:直接插入排序、冒泡排序和快速...

    七大排序算法c++实现

    七大排序算法C++实现,包括冒泡排序、选择排序、插入排序、希尔排序、快速排序、归并排序、堆排序。代码随机生成数组来排序,MAX1定义了数组个数,用QueryPerformanceCounterday打印除了各算法用时。

    白话经典算法之七大排序

    对冒泡排序,直接插入排序,直接选择排序,希尔排序,归并排序,快速排序和堆排序这七种常用的排序方法进行了详细的讲解

    七大排序算法详解

    包括冒泡排序,直接插入排序,直接选择排序,希尔排序,归并排序,快速排序和堆排序这七种常用的排序方法和实现代码,并有配图的解释,直接明了,容易理解!

    C++常见八大排序算法

    我用vs2017写的包含八大排序算法和随机生成数的算法。其中包括:冒泡排序,快速排序,选择排序,插入排序,桶排序,希尔排序,计数排序。其实只有七个排序算法。

    Java 七种排序算法实现

    这里提供了冒泡排序,插入排序,递归排序,基数排序,快速排序,选择排序,希尔排序这几种排序算法。里面有大量的注释,可以理解实现思路

    MoreWindows白话经典算法之七大排序(高清版)

    这是本人在研一上课时所整理的文档,包括冒泡排序,直接插入排序,直接选择排序,希尔排序,归并排序,快速排序和堆排序这七种常用的排序方法,这些文章不仅使我在考试中取了不错的成绩,也为后来顺利面过迅雷,腾讯...

    七大排序C语言实现

    七大排序是指 bubble sort、insertion sort、selection sort、quick sort、shell sort、heap sort和merge sort,它们都是常用的排序算法。下面将对每种排序算法进行详细的解释和分析。 1. bubble sort(冒泡排序) ...

    [网盘]MoreWindows白话经典算法之七大排序第2版(高清)

    在第一版的基础上新加了对冒泡排序,直接插入排序,直接选择排序,希尔排序,归并排序,快速排序和堆排序这七种常用的排序方法的总结篇,方便大家复习,合适作为笔试面试前的复习资料。

    七大排序算法的java实现

    插入排序,选择排序,冒泡排序,归并排序,快速排序,堆排序,希尔排序的java实现

    Go语言排序算法之插入排序与生成随机数详解

    七大经典排序算法 插入排序 选择排序 冒泡排序 希尔排序 归并排序 堆排序 快速排序 插入排序 先考虑一个问题:对于长度为n的数组,前n-1位都是递增有序的,如何排序?  1.从第1位至第n-1位遍历数组,发现第...

    多种排序算法演示软件

    动态演示和分析七大排序算法「插入排序、选择排序、冒泡排序、归并排序 、希尔排序、快速排序、桶排序」的排序过程,使得排序过程更加容易理解。

Global site tag (gtag.js) - Google Analytics