2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > java冒泡测试代码_数据结构与算法—冒泡排序(Java实现)

java冒泡测试代码_数据结构与算法—冒泡排序(Java实现)

时间:2022-11-12 04:06:52

相关推荐

java冒泡测试代码_数据结构与算法—冒泡排序(Java实现)

[toc]

冒泡排序

程序代码packagecom.uplooking.bigdata.datastructure;importjava.util.Arrays;publicclassBubbleSort{publicstaticvoidmain(String[]args){int[]arr={8,-2,3,9,0,1,7,6};System.out.println("排序前:"+Arrays.toString(arr));bubbleSort(arr);System.out.println("排序后:"+Arrays.toString(arr));}/***排序过程分析:*i前比较次数(arr.length为8)*开始:8,-2,3,9,0,1,7,6**第1趟结束:-2,3,8,0,1,7,6,907**第2趟结束:-2,3,0,1,7,6,8,916**第3趟结束:-2,0,1,3,6,7,8,925**第4趟结束:-2,0,1,3,6,7,8,934**第5趟结束:-2,0,1,3,6,7,8,943**第6趟结束:-2,0,1,3,6,7,8,952**第7趟结束:-2,0,1,3,6,7,8,961**结论:需要比较的趟数为arr.length-1*每一趟需要比较arr.length-1-i次**由于冒泡排序为相邻两者相互比较对调,并不会更改其原本排序的顺序,所以是稳定排序法*/publicstaticvoidbubbleSort(int[]arr){for(inti=0;iarr[j+1]){swap(arr,j,j+1);}}}}publicstaticvoidswap(int[]arr,inti,intj){arr[i]=arr[i]^arr[j];arr[j]=arr[i]^arr[j];arr[i]=arr[i]^arr[j];}}

测试排序前:[8,-2,3,9,0,1,7,6]排序后:[-2,0,1,3,6,7,8,9]

时间复杂度分析1.可以看到,将比较次数相加起来(等差数列),其时间复杂度为O(n^2)2.由于冒泡排序为相邻两者相互比较对调,并不会更改其原本排序的顺序,所以是稳定排序法

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。