插入排序

import java.util.ArrayList; import java.util.Random; /* * 插入排序,使用ArrayList */ public class InsertionSort { ArrayList<Integer> list; public InsertionSort(int num, int mod) {// num是待排序排序数字个数,产生的随机数在1到mod之间 list = new ArrayList<Integer>(num); System.out.println("排序之前的数组:"); for (int i = 0; i < num; i++) { list.add(new Random().nextInt(mod)); System.out.println("list[" + i + "]=" + list.get(i)); } } public void sort() { //排序 Integer tempInt; int MaxSize = 1; for (int i = 1; i < list.size(); i++) { tempInt = (Integer) list.remove(i); if (tempInt.intValue() >= ((Integer) list.get(MaxSize - 1)) .intValue()) { list.add(MaxSize, tempInt); MaxSize++; } else { for (int j = 0; j < MaxSize; j++) { if (((Integer) list.get(j)).intValue() >= tempInt .intValue()) { list.add(j, tempInt); MaxSize++; break; } } } } System.out.println("排序之后的数组:"); for (int i = 0; i < list.size(); i++) { System.out.println("list[" + i + "]=" + list.get(i)); } } public static void main(String[] args) { InsertionSort is = new InsertionSort(10, 100); is.sort(); } }

运行结果:

排序之前的数组:
list[0]=26
list[1]=63
list[2]=82
list[3]=41
list[4]=12
list[5]=76
list[6]=92
list[7]=75
list[8]=94
list[9]=74
排序之后的数组:
list[0]=12
list[1]=26
list[2]=41
list[3]=63
list[4]=74
list[5]=75
list[6]=76
list[7]=82
list[8]=92
list[9]=94


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值