-
算法简介
冒泡排序是一种较简单并直观的排序算法,它重复的比较相邻的两个元素的大小(从大到小或从小到大),如果顺序错误就交换它们的位置,直到没有相邻的元素需要交换,也就是已排序完成。
这个算法的名字就是因为越小(大)的元素会由于交换慢慢的来到数列的顶端,就像水里的气泡一样浮上来,所以叫冒泡排序。
时间复杂度:O(n^2)
算法稳定性:稳定排序算法
-
算法步骤
比较相邻的两个元素,如果第一个比第二个大,就交换它们的位置。
对每一对相邻的元素做同样的事,从开始的一对到最后的一对,交换完成后,最后的元素会是最大的数。
对所有的元素重复上面的步骤,出去最后一个。
持续对越来越少的元素重复上面的步骤,直到没有元素需要比较。
-
代码实现
- C语言版
//形参为数组和数组的长度 void bubblesort(int data[],int len) { //每循环一轮找出一个最大数在最后 for (int i = 0; i < len - 1; i++) { //循环的次数=数组长度-当前的轮数 for (int j = 0; j < len - i - 1; j++) { if (data[j] > data[j + 1]) { int temp; temp = data[j]; data[j] = data[j + 1]; data[j + 1] = temp; } } } }
新手笔记之冒泡排序
最新推荐文章于 2024-06-22 15:10:08 发布