插入排序(java)

插入排序

将数组分为两个部分,一部分是有序的(已排序),一部分是无序的(未排序),插入排序就是将无序的数字依次插入到有序的数组中,最后达到排序的效果。

举个例子:1 8 5 2 9

第一次从下标为1的开始 然后和他前面的数比较 (我是从按降序排的)8>1 所以交换他俩 变成

8 1 5 2 9

第二次从下标为2的开始 依次比较他前面的数 5>1 交换 变成

8 5 1 2 9

依次比较他前面的 5!>8 所以不交换

这里就不在累述了...

public class example01 {
	public static void main(String[] args) {
		int[] a ={900,878,891,904,865,912,868,870,898,903};
		//插入排序算法
		for(int i=1;i<a.length;i++)
		{
			for(int j=i;j>0;j--)			{
				if(a[i]<a[j--])
				{
					int temp;
					temp=a[i];
					a[i]=a[j--];
					a[j--]=temp;
				}
			}
			//输出
			System.out.print("第"+i+"次排序:");
			for(int b:a)
				System.out.print(" "+b);
			System.out.println();
		}
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值