二手书网站策划书,wordpress好用的插件推荐,建设部网站怎么查安全员,佛山集团网站建设####定义: 冒泡排序(bubble sort):是一种简单的排序算法.它重复的走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作就是重复的进行直到不需要交换,也就是这个数列已经排序完成.这个算法的由来是因为越小的元素由交换慢慢浮到…####定义: 冒泡排序(bubble sort):是一种简单的排序算法.它重复的走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作就是重复的进行直到不需要交换,也就是这个数列已经排序完成.这个算法的由来是因为越小的元素由交换慢慢浮到数列的顶端. ####冒泡排序算法的运作如下 比较相邻的元素。如果第一个比第二个大就交换他们两个。对每一对相邻元素作同样的工作从开始第一对到结尾的最后一对。这步做完后最后的元素会是最大的数。针对所有的元素重复以上的步骤除了最后一个。持续每次对越来越少的元素重复上面的步骤直到没有任何一对数字需要比较。伪代码 function bubble_sort (array, length) {var i, j;for(i from 0 to length-1){for(j from 0 to length-1-i){if (array[j] array[j1])swap(array[j], array[j1])}}
}
复制代码函数 冒泡排序 输入 一个数组名称为array 其长度为length i 从 0 到 (length - 1) j 从 0 到 (length - 1 - i) 如果 array[j] array[j 1] 交换 array[j] 和 array[j 1] 的值 如果结束 j循环结束 i循环结束
函数结束
复制代码助记码 i∈[0, N-1) //循环N-1遍j∈[0, N-1-i) //每遍循环要处理的无序部分swap(j, j1) //两两排序升序/降序
复制代码####实现示例 #include stdio.h
void bubble_sort(int arr[], int len) {int i, j, temp;for (i 0; i len - 1; i)for (j 0; j len - 1 - i; j)if (arr[j] arr[j 1]) {temp arr[j];arr[j] arr[j 1];arr[j 1] temp;}
}
int main() {int arr[] { 22, 34, 3, 32, 82, 55, 89, 50, 37, 5, 64, 35, 9, 70 };int len (int) sizeof(arr) / sizeof(*arr);bubble_sort(arr, len);int i;for (i 0; i len; i)printf(%d , arr[i]);return 0;
}
复制代码####排序1万条随机数字所运行的时间: 249442微秒 转载于:https://juejin.im/post/5a3c5aa05188252103346ed1