为了账号安全,请及时绑定邮箱和手机立即绑定

冒泡数组排序,为什么第一个可以运行,第二个就不可以了,郁闷

冒泡数组排序,为什么第一个可以运行,第二个就不可以了,郁闷

晴天小文友 2016-07-14 00:18:06
1.package helloWorld;public class test_4 { public static void main(String[] args){ int[] arr={12,45,321,44,66,78,12}; for(int j=0;j<arr.length-1;j++){ for(int i=0;i<arr.length-1;i++){ if(arr[i]>arr[i+1]){ int t=arr[i]; arr[i]=arr[i+1]; arr[i+1]=t; } } } for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); } }}2。package helloWorld;public class test_4 { public static void main(String[] args){ int[] arr={12,45,321,44,66,78,12}; for(int j=0;j<arr.length-1;j++){ for(int i=arr.length-1;i>=0;i--){ if(arr[i]>arr[i-1]){ int t=arr[i]; arr[i]=arr[i-1]; arr[i-1]=t; } } } for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); } }}
查看完整描述

1 回答

已采纳
?
米沙之国

TA贡献30条经验 获得超16个赞

第二个的冒泡中的第二层循环for(int i=arr.length-1;i>=0;i--),i>=0和arr[i-1]冲突,当i=0时会得到arr[-1]报错,应改为i>0;

查看完整回答
反对 回复 2016-07-14
  • 1 回答
  • 0 关注
  • 1357 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信