java 算法之冒泡排序实例详解
程序员文章站
2024-02-13 10:03:52
java 算法之冒泡排序实例详解
无人不知无人不晓的冒泡排序,据说是模仿泡泡从水中浮起跑到水面的过程。
在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对...
java 算法之冒泡排序实例详解
无人不知无人不晓的冒泡排序,据说是模仿泡泡从水中浮起跑到水面的过程。
在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即: 每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
来看一下代码:
package cn.songxinqiang.study.algorithm.sort; import java.util.arrays; /** * 冒泡排序 * * <p> * 众里寻她千百度, 蓦然回首, 那人却在灯火阑珊处. * </p> * * @author 阿信sxq-2015年7月16日 * */ public class bubblesort { /** * 原理:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即: * 每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。 * * @author 阿信sxq-2015年7月16日 * * @param args */ public static void main(string[] args) { int a[] = { 49, 38, 65, 97, 76, 13, 27, 49, 78, 34, 12, 64, 5, 4, 62, 99, 98, 54, 56, 17, 18, 23, 34, 15, 35, 25, 53, 51 }; int temp = 0; for (int i = 0; i < a.length - 1; i++) { for (int j = 0; j < a.length - 1 - i; j++) { if (a[j] > a[j + 1]) { temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } } system.out.println(arrays.tostring(a)); } }
输出为:
[4, 5, 12, 13, 15, 17, 18, 23, 25, 27, 34, 34, 35, 38, 49, 49, 51, 53, 54, 56, 62, 64, 65, 76, 78, 97, 98, 99]
以上就是关于冒泡排序的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!