算法笔试题(七):冒泡排序
来源:互联网 发布:德国布线火遍网络 编辑:程序博客网 时间:2024/05/16 12:00
转载:http://www.cnblogs.com/wuzhenbo/archive/2012/03/30/2423861.html
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
冒泡排序算法的运作如下:
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
冒泡排序的过程图:
代码:
public class BubbleSort{ public static void main(String[] args){ int score[] = {67, 69, 75, 87, 89, 90, 99, 100}; for (int i = 0; i < score.length -1; i++){ //最多做n-1趟排序 for(int j = 0 ;j < score.length - i - 1; j++){ //对当前无序区间score[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的) if(score[j] < score[j + 1]){ //把小的值交换到后面 int temp = score[j]; score[j] = score[j + 1]; score[j + 1] = temp; } } System.out.print("第" + (i + 1) + "次排序结果:"); for(int a = 0; a < score.length; a++){ System.out.print(score[a] + "\t"); } System.out.println(""); } System.out.print("最终排序结果:"); for(int a = 0; a < score.length; a++){ System.out.print(score[a] + "\t"); } } }
0 0
- 算法笔试题(七):冒泡排序
- 笔试题二:冒泡排序算法实现
- 排序算法总结(七)冒泡排序
- 笔试题:排序、冒泡排序、快速排序
- 【算法题】冒泡排序
- java笔试题(冒泡排序)
- 应届生笔试-冒泡排序
- 笔试常考排序算法(冒泡选择)
- 【算法题】双向冒泡排序
- 七种排序算法,包括:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序
- 排序算法--冒泡排序
- 排序算法-冒泡排序
- 排序算法--冒泡排序
- 排序算法--冒泡排序
- 排序算法-冒泡排序
- 排序算法 冒泡排序
- 排序算法-- 冒泡排序
- 排序算法-冒泡排序
- 并发逻辑备份工具mydumper实践
- java学习日记_50:匿名内部类
- 拓扑排序 详解 + 并查集 详解 + 最小生成树(MST)详解 【普利姆算法 + 优先队列优化 & 克鲁斯卡尔算法】
- Java并发编程之二十一:并发新特性—阻塞队列和阻塞栈(含代码)
- 【JZOJ 4821】 打膈膜
- 算法笔试题(七):冒泡排序
- poj3177——Redundant Paths(双连通分量)
- android:Serializable 方式和 Parcelable 方式
- 18.显示购物车存储器实现(实际上就是存储在sharedPrefrence当中)
- echarts主题属性设置
- 图像RGB顺序
- Mysql本地提权及远程代码执行漏洞浅析(CVE-2016-6662)
- Java并发编程之二十二:并发新特性—障碍器CyclicBarrier(含代码)
- Java面试题