写一段冒泡排序的代码

(1)要求。能够用自己语言描述冒泡排序算法

(2)算法描述。依次比较数组中相邻两个元素大小,若 a[j] > a[j+1],则交换两个元素,两两都比较一遍称为一轮冒泡,结果是让最大的元素排至最后 重复以上步骤,直到整个数组有序

(3)算法实现。实现冒泡程序的代码如下:

(4)进一步优化。public static void bubble_v2 ( int [ ] a ) { int n = a . length - 1 ; while ( true ) { int last = 0 ; // 表示最后一次交换索引位置 for ( int i = 0 ; i < n ; i ++ ) { System . out . println ( "比较次数" + i ) ; if ( a [ i ] > a [ i + 1 ] ) { Utils . swap ( a , i , i + 1 ) ; last = i ; } } n = last ; System . out . println ( "第轮冒泡" + Arrays . toString ( a ) ) ; if ( n == 0 ) { break ; } } }

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。