本文的代码来自于《数据结构与算法(JAVA语言版)》,是笔者在网上找到的资料,非正式出刊版物。笔者对代码一些比较难以理解的部分添加了注释和图解,欢迎大家来讨论。
冒泡的基本思想是拿一个数与它之前的数来比较,然后交换位置。
如图所示
Java具体实现代码:
输入:数据元素数组r,数组r 的待排序区间[low..high]
输出:数组r 以关键字有序
代码:
public void bubbleSort(Object[] r, int low, int high){int n = high - low + 1;for (int i=1;i<n;i++)for (int j=low;j<=high-i;j++)if (pare(r[j],r[j+1])>0){Object temp = r[j];r[j] = r[j+1];r[j+1] = temp;}}//end of bubbleSort