今天分享一下数组的排序:

首先我们随便写一个数组,

随机一个数组并排序

 

 

第一遍执行时我们发现这个数组发生了越界所以我们再改一次代码

 

随机一个数组并排序

 

 

我们这次对我们的循环条件进行了更改,也就是把这个数组的总长度进行-1,这样我们的代码就成功运行,但是我们又发现一个问题:

       

int[] arr = new int[]{12,5,7,6,8,23,5,3,9};
[5, 7, 6, 8, 12, 5, 3, 9, 23]

我们的输出结果并没有达到从小到大的排序。

其实这里可以从我们的if判断中发现我们只是将前一个数字和后一个数字进行比较,

 

[5, 12, 7, 6, 8, 23, 5, 3, 9]
[5, 7, 12, 6, 8, 23, 5, 3, 9]
[5, 7, 6, 12, 8, 23, 5, 3, 9]
[5, 7, 6, 8, 12, 23, 5, 3, 9]
[5, 7, 6, 8, 12, 5, 23, 3, 9]
[5, 7, 6, 8, 12, 5, 3, 23, 9]
[5, 7, 6, 8, 12, 5, 3, 9, 23]
[5, 7, 6, 8, 12, 5, 3, 9, 23]

 

我们发现当循环执行到 12 和23比较时,这里并不满足我们if判断的条件:所以我们对代码再次更改

 

随机一个数组并排序

 

这里我们在外层添加了一层for循环

然后我们对最内层的的for循环进行了 -x ,其实这里-x的主要目的就是因为当最内层的 for循环结束一次以后

无论如何都会排出来一个最大的数字,也就是说我们下次在进行循环的时候就可以少循环一次用来最后面的排序。

这样我们的代码就写完了基本已经实现了我们随机数组并排序的功能。

 

相关文章: