本文主要是介绍排序算法 之 冒泡算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、 冒泡算法:
冒泡排序(Bubble sort)是一种简单直观的排序算法,依次访问要走过的序列,依次比较两个元素,如果他们的顺序错误就交换过来。重复上述操作直到没有再需要交换的元素,若从小到大排序,每次最大的元素都会“沉底”。
二、算法步骤:
1) 比较相邻元素,如果第一个比第二个大,就交换两个元素
2) 对每对元素做相同的工作,从开始第一对到最后一对,此时最大的元素沉底。
3)针对所有元素重复以上步骤,知道没有需要交换的元素为止。
三、实现代码:(代码中会每次浮出最小的元素)
public static void bubbleSort(int[] array) {boolean swap = false;for (int i = 0; i < array.length - 1; i++) {swap = false;for (int j = array.length - 1; j > i; j--) {if (array[j] < array[j - 1]) {int tmp = array[j];array[j] = array[j - 1];array[j - 1] = tmp;swap = true;}}if (!swap) {break;}}}
注: 用swap来标记每次的循环过程是否有交换的元素。
这篇关于排序算法 之 冒泡算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!