十大常用的排序算法之冒泡排序 C#实现
最近想换一份工作,所以把之前所学习过的算法知识捡起来复习一遍。废话不多说,首先从最简单的冒泡排序开始。
算法描述
什么是冒泡排序呢?冒泡排序,英文名"Bubble Sort"。它就像水中漂浮的一组气泡一样排列整齐的上升(bulu~ bulu~)。而在这些气泡之中,体积大一些的气泡的上升的速度更快一些,最先浮出水面。
冒泡排序就如同这些气泡一般,依次比较相邻数据的大小,将较小数据放在前面,较大的数据放在后面。例如,对于一个n个元素的数组,第一次比较第1个元素和第2个元素,如果元素1 > 元素2,那么将元素1和元素2调换位置;再比较第2个元素和第3个元素,同样使较小元素放在前面,较大的元素放在后面;依次类推…直至完成比较第n-1个元素和n个元素的大小,这样便完成一次循环。我们可以找到一个“最大的气泡(元素)”,让“大气泡”先浮出水面。
举个栗子:现在我们有一个无序数组{7,1,24,11,8}
第一轮循环的比较过程
第一次比较(比较第1,2个元素)
7比1大,交换!
第二次比较(比较第2,3个元素)
7小于24,不做变化。