上一次我们讲解了快速排序归并排序。其实这两个算法有一个共同点,就是都运用到了分治的思想。而且我们还了解到这两个算法的时间复杂度分别为O(nlogn)和O(nlogn)(最差为O(n^2))
其实,快速排序法的精髓就在于交换,他其实是另一种算法的该进。这个算法就是冒泡排序。
冒泡排序法
冒泡排序算法的运作如下:(从后往前)
1 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3 针对所有的元素重复以上的步骤,除了最后一个。
4 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
那么,这个算法的代码实在是太easy了!
void Bubble_sort(int* A,int n){
for(int i=0;i<n-1;i++)
for(int