排序算法系列文章
排序(一):冒泡排序
排序(二):选择排序
排序(三):堆排序
排序(四):插入排序
排序(五):二分搜索
排序(六):归并排序
排序(七):快速排序
排序(八):希尔排序
目录
前言----十大经典排序算法
- 以上表格是基于数组进行排序的一般结论
- 冒泡、选择、插入、归并、快速、希尔、堆排序,属于比较排序(Comparison Sorting)
冒泡排序(Bubble Sort)
冒泡排序(Bubble Sort)的基本思想是:通过对待排序数组从头到尾遍历(从索引较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从数组头部移向尾部,就象水底下的气泡一样逐渐向上冒。
算法步骤
① 从头开始比较每一对相邻元素,如果第一个比第二个大,就交换它们的位置
② 执行完一轮后,最末尾那个元素就是最大元素
③ 忽略上一步中曾经找到的最大元素,重复执行步骤一,直到全部元素有序
代码实现
public static void main(String[] args) {
int[] array = {
10,9,19,28,37,34,5};
//end > 0为终止条件,只有end > 0,也即是说,end为1的时候,它还可以和它前面的进行比较
//end为0时,它前面就没有元素了
for (int end = array.length - 1