java实现插入排序

原创 2018年04月17日 17:31:02
插入排序:数组中,从第二个数开始,和前边数的对比,要是前边的比当前i对应的值还要大,就将前面的值往后移动,就相当于把前面的值下标往后移动,前边空出的一个位置就留给当前i对应的值来填补。
package ch02;

public class InsertSort {
public static void sort(long []arr){
	for(int i=1;i<arr.length;i++){//这里i从1开始,留出一个可以插入的空位,
		int k=i;//将
		
		long temp=arr[i];
		//如果在k前面的比k位置的数要大,就把前面这个数,往后移动
		while(k>0&&arr[k-1]>=temp){
			arr[k]=arr[k-1];
			k--;
		}
		//比下标k对应的值大 的都往后移动了,那么前面的一个空位就用来放i的值。
		arr[k]=temp;
	}
}
}

测试类:

package ch02;

public class InsertSortTest {
	public static void main(String[] args) {
		long[] arr = new long[5];
		arr[0] = 3;
		arr[1] = 4;
		arr[2] = 5;
		arr[3] = 7;
		arr[4] = 6;
		for (long num : arr) {
			System.out.print(num);
		}
		System.out.println();
		InsertSort.sort(arr);
		for (long num : arr) {
			System.out.print(num);
		}
	}
}

排序算法之直接插入排序的思想以及Java实现

1,基本思想 假设待排序的数据是数组A[1….n]。初始时,A[1]自成1个有序区,无序区为A[2….n]。在排序的过程中,依次将A[i] (i=2,3,….,n)从后往前插入到前面已排好序的子数组...
  • whq19890827
  • whq19890827
  • 2016-08-10 22:44:36
  • 2094

Java 用两种方法实现插入排序

一、概述:排序算法是最简单的算法,也是最基本的算法。顾名思义,插入排序就是把当前待排序的元素插入到一个已经排好序的列表里面。 一个非常形象的例子就是右手抓取一张扑克牌,并把它插入左手拿着的排好序的扑克...
  • lovoo
  • lovoo
  • 2016-06-24 21:10:18
  • 1819

Java实现排序算法之 - 插入排序

生活情景: 不知道大家在生活中是如何思考排序这件事情的,就我来说,在打扑克牌(十三张那种哈)的时候,每拿到派发的一张牌, 就会将这张牌插入到合适的位置,这样每次插完之后就是得到了一次排好序的牌。插...
  • Joseph_Cherry
  • Joseph_Cherry
  • 2017-03-07 23:28:49
  • 2583

【排序算法】插入排序原理及Java实现

直接插入排序的基本操作是将一个记录插入到已经排好的有序表中,从而得到一个新的、记录数增1的有序表。对于给定的一组记录,初始时假定第一个记录自成一个有序序列,其余记录为无序序列。接着从第二个记录开始,按...
  • jianyuerensheng
  • jianyuerensheng
  • 2016-04-26 21:32:36
  • 14294

插入排序(Insertsort)之Java实现

插入排序算法介绍 排序算法是最简单的算法,也是最基本的算法。顾名思义,插入排序就是把当前待排序的元素插入到一个已经排好序的列表里面。 一个非常形象的例子就是右手抓取一张扑克牌,并把它插入左手拿着的排好...
  • kimylrong
  • kimylrong
  • 2013-12-04 17:07:17
  • 29001

插入排序的Java代码实现

  • 2016年04月15日 12:23
  • 9KB
  • 下载

用java实现插入排序InsertSort

  • 2011年10月23日 21:19
  • 521B
  • 下载

单向链表插入排序 Java

package linkedList; /** * Definition for singly-linked list. * public class ListNode * { * ...
  • stephenluu
  • stephenluu
  • 2014-04-13 10:44:00
  • 2357

插入排序(java 实现)

前言最近复习数据结构,把插入排序实现了一下,代码如下,欢迎指导。本文链接为http://blog.csdn.net/never_cxb/article/details/49642427,转载请注明出处...
  • never_cxb
  • never_cxb
  • 2015-11-04 19:44:15
  • 783

在单链表上实现插入排序

问题:给单链表排序(升序排列,要保持稳定性),要求通过改变结点的next指针从而改变结点的位置,而不是只交换结点的值来使得其有序!时间复杂度为O(N^2),空间复杂度为O(1)。...
  • Jacketinsysu
  • Jacketinsysu
  • 2016-09-17 20:10:29
  • 4672
收藏助手
不良信息举报
您举报文章:java实现插入排序
举报原因:
原因补充:

(最多只允许输入30个字)