无人不知无人不晓的冒泡排序,据说是模仿泡泡从水中浮起跑到水面的过程。来看一下代码:
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]
冒泡排序比较简单,但是也比较浪费时间,在此基础上有很多改良的排序方法,后面博客中说明
时间: 2024-11-05 18:32:25