Java实现的插入排序

有时间的话,每天写一点儿代码,不然真的会生疏的。

今天我就用java实现一下这个插入排序吧。简单的说,插入排序就是将某个数据插入好已经拍好的数据之中,它要满足以下的两个条件:

一,在插入之前,队列(我就暂时说队列吧,就是拍好的一列数据)已经排好。

二,在插入之后,保证队列已经排好

这样的话,最后的数据就是排好的了。。。直接看代码。

public void insertSortAsc() {

		int arrLength = m_Arr.length;
		int i = 0;
		int key = 0;
		for (int j = 1; j < arrLength; ++j) {

			key = m_Arr[j];
			i = j - 1;

			while (i >= 0 && m_Arr[i] > key) {
				m_Arr[i + 1] = m_Arr[i];
				--i;
			}
			m_Arr[i + 1] = key;
		}
	}

这个是升序排的,也可以降序,改一下就好了。。。(没有特殊说明,都用升序排列了)。看吧,这个很简单,主要是一些标志点注意一下就好了。。。

运行结果
{ 47,63,38,81,76,53,31,30,96,40,81,6,5,27,3 }
insert sort run time :0 ms
{ 3,5,6,27,30,31,38,40,47,53,63,76,81,81,96 }

里面有一个消耗时间的代码,用System.currentTimeMills(),就可以了,排序前后相减,能得出,以后我们可以通过这个计算算法消耗的大致时间。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值