常见算法学习及其Java实现--插入排序算法

package org.bupt.test; import java.util.ArrayList; class MyResource { ArrayList<Integer> arrList= new ArrayList(); public MyResource(ArrayList<Integer> arrList) { this.arrList = arrList; } public void insertionSort() { int j; /*将数组向右平移一位,留出arrList[0],用作哨兵*/ arrList.add(arrList.get(arrList.size()-1)); for (j = arrList.size()-1; j>0;j--) { arrList.set(j, arrList.get(j-1)); } for (int i = 1; i < arrList.size(); i++) { if (arrList.get(i)<arrList.get(i-1)) { arrList.set(0, arrList.get(i)) ; /*在查找循环中"监视"下标变量j是否越界。一旦越界(即j=0),因为arrList[0]和自己比较,循环判定条件不成立使得查找循环结束, * 从而避免了在该循环内的每一次均要检测j是否越界(即省略了循环判定条件"j>=1")。 */ for (j = i-1; arrList.get(0) < arrList.get(j); j--) { arrList.set(j+1, arrList.get(j)); } arrList.set(j+1, arrList.get(0)); } } } public void printOut() { for (int i = 1; i < 10; i++) { System.out.print(arrList.get(i)+" "); } } } public class Main { public static void main(String args[]) throws Exception { ArrayList<Integer> arrList = new ArrayList(10); for (int i = 0; i < 9; i++) { arrList.add(new Integer((int) (Math.random()*100))); System.out.print(arrList.get(i)+" "); } System.out.println(""); MyResource mtMyResource = new MyResource(arrList); mtMyResource.insertionSort(); mtMyResource.printOut(); } }

今天开始学习实现一些基本算法,毕竟自己以前不是学计算机的,有些东西是要补一补的。

每天进步一点点,水滴石穿。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值