用JAVA详解冒泡排序
创始人
2024-04-11 17:32:27
0

1.代码段实现:(混的只需要把第一个拿走即可)

public static void main(String[]args){int []arr = new int [] {99,68,97,86,65,94,33,72};System.out.println("排序前的数组为:");for (int i = 0;i < arr.length;++i){System.out.print(arr[i]+ " ");}System.out.println();for(int i = 0; i < arr.length - 1; ++i){for (int j = 0;j < arr.length - 1 - i;++j){if(arr[j]> arr[j + 1]){int temp;temp = arr[j+1];arr[j+1] = arr[j];arr[j] = temp;}}}System.out.println("排序后的数组为:");for (int i = 0; i < arr.length;i++){System.out.print(arr[i]+ " ");}}

2.代码的结果:

 

3.代码的解释:(恭喜你,勤奋的人!)

首先冒泡循环只需要弄懂三个问题:

(1).外层循环控制什么?

           由于在排序到最后时,最后的那一个数据无需排序,由于前面的排序将后面的数据已经按照相应的顺序完成排序:所以要使  arr . length - 1,由于本案例输入8个数据元素,而排序只需要排7次即可 所以从 int i = 0;开始到  i < arr . length - 1 共7次(不信的可以算算:0,1,2,3,4,5,6)

答:控制着要排序的次数

(2).内层循环控制着什么?

            由于冒泡排序的思路是: 比较两个数的大小,将两个中的大的数向后移,然后依次再和下一个数进行比较,较大的数在向后移,而每次都需要将j 从0开始依次的比较一直到  arr . length - 1又由于经过  i 次的排序,后面的数据已经排序完成 则后面的数据无需继续在排序,即为:

          arr . length - 1 - i 

答:控制着每次都是从  int  j = 0的下标开始依次的向后比较排序

(3).交换干什么?

         答:它控制着你想从大到小排序   还是想从小到大的排序

                                    

 

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...