插入排序--InsertionSort-java实现

import java.util.Arrays;

/**
 * 
* @ClassName: InsertionSort  
* @Description: 插入排序--正序(从小到大)
* @author szren  
* @date 2018年5月30日 下午5:16:36  
*
*原理示意图
* 	初始化数组  5,3,4,8,9,1,2,7,6
* 
* 			i=0 	3,5,				4,8,9,1,2,7,6    ---前两个元素排序
* 			i=1 	3,4,5,				8,9,1,2,7,6    ---前三个元素排序
* 			i=2 	3,4,5,8,			9,1,2,7,6    ---前四个元素排序
* 			i=3 	3,4,5,8,9,			1,2,7,6    ---前五个元素排序
* 			i=4 	1,3,4,5,8,9,		2,7,6    ---前六个元素排序
* 			i=5 	1,2,3,4,5,8,9,		7,6    ---前七个元素排序
* 			i=6 	1,2,3,4,5,7,8,9,	6    ---前八个元素排序
* 			i=7 	1,2,3,4,5,6,7,8,9,    ---所有元素排序完成
*
* 	插入排序是基于比较的排序。通过比较数组中的元素大小,来调整元素的位置。
* 	对于这类排序,就有两种基本的操作:①比较操作; ②交换操作.
* 	在要排序的一组数中,假定前n-1个数已经排好序,现在将第n个数插到前面的有序数列中,使得这n个数也是排好顺序的。
* 	如此反复循环,直到全部排好顺序。
* 
 */

public class InsertionSort {
	public static void main(String[] args) {
		int aa[] ={5,3,4,8,9,1,2,7,6};
		insertionSort(aa,aa.length);
		System.out.println("插入排序后的顺序::"+Arrays.toString(aa));
		
	}

	private static void insertionSort(int[] aa, int length) {
		for(int i=0;i<length-1;i++){
			for(int j=i+1;j>0;j--){
				if(aa[j]<aa[j-1]){
					int temp = aa[j-1];
					aa[j-1]=aa[j];
					aa[j]= temp;		
					
				}
			}
		}
	}
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值