冒泡排序法应该是大家最初接触到的排序算法,冒泡排序法简单而且非常容易理解,下面我就以升序为例讲解。
设数组的长度为N,比较相邻的两个元素,把其中大的那个数交换放在后面。对第0个到第N-1个数进行遍历之后,最大的数已经“沉”到最后一个,接下来对第0个到第N-2个数进行遍历,直到排序完成。
很容易就写出源码。
源码部分
1 | void BubbleSort(int a[], int n) |
显然,冒泡排序法的时间复杂度为n*n,效率低下,对于大数组不建议使用冒泡排序法。当然网上也有许多对冒泡排序法的优化,这里我便不详讲。