java吧 关注:1,257,403贴子:12,749,939
  • 7回复贴,共1
/*
* 功能:演示各种排序
*/
package com.test6;public class Test { public static void main(String[] args) {
// TODO 自动生成的方法存根
int len = 10;
int[] a = new int[len];
for (int i = 0; i < len; i++) {
// 让程序随机产生一个1到10000的数
// Math.random()会产生一个0到1的数字
int t = (int) (Math.random() * 10000);
a[i] = t;
} InsertSort insert = new InsertSort(); insert.sort(a); }}// 插入排序
class InsertSort { // 从小到大排序
public void sort(int a[]) {
for (int i = 1; i < a.length; i++) {
int insertVal = a[i];
// insertVal准备和前一个数比较
int index = i - 1;
while (index >= 0 && insertVal < a[index]) {
// 将把a[i]向后移动
a[i + 1] = a[i];
index--;
}
// 将insertVal插入到适当位置
a[index + 1] = insertVal;
}
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
}
}
自学java 用eclipse的结果排序不对 而且多运行几次 还会报错
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at com.test6.InsertSort.sort(Test.java:36) at com.test6.Test.main(Test.java:21)
求大佬帮忙看一下 我是看着视频学的 跟着视频打 一模一样啊 难道是我哪里眼瞎了?


IP属地:浙江1楼2017-10-15 22:48回复


    IP属地:浙江2楼2017-10-15 22:51
    回复
      广告
      立即查看
      复制代码可能看不清楚 所以我截图了


      IP属地:浙江3楼2017-10-15 22:53
      回复


        IP属地:浙江4楼2017-10-15 22:54
        收起回复
          来个大神帮帮忙啊


          IP属地:浙江来自Android客户端5楼2017-10-15 23:10
          回复
            大佬都睡了吗,那我明早再问


            IP属地:浙江来自Android客户端6楼2017-10-15 23:21
            回复
              自古新人贴没人看


              IP属地:浙江来自Android客户端7楼2017-10-16 07:43
              回复