[Sort]冒泡排序
来源:互联网 发布:研究生课程表软件 编辑:程序博客网 时间:2024/06/06 18:57
#include <iostream>using namespace std;/* * C - compare times * M - move times * * 如果是正序的,一趟扫描即可完成排序,所需的关键字比较次数C和记录移动次数M均达到最小值 * Cmin = n-1 , Mmin = 0; * 即冒泡排序最好的时间复杂度是 O(n) * * 如果初始文件是反序的,需要进行n-1趟排序。每趟排序需要进行n-i次关键字比较,且每次比较都必须 * 移动记录三次来达到交换记录位置,在这种情况下,比较和移动次数均达到最大值。 * * Cmax = n(n-1)/2 = O(n^2); * Mmax = 3n(n-1)/2 = O(n^2); * 冒泡排序最坏的时间复杂度是O(n^2) * * 综上,冒泡排序的平均复杂度是O(n^2) * * 冒泡排序是稳定的排序,相等的数值的前后顺序保持一致。 */void BubbleSort(int nums[], int n){ int i, j = 0; for(i = 0; i < n-1; i++) { for(j = 0; j < n-i-1; j++) { if(nums[j] > nums[j+1]) { swap(nums[j],nums[j+1]); } } }}void print(int nums[], int n){ for(int i = 0; i < n; i++) { cout<<nums[i]<<endl; }}int main(){ int nums[10] = {10,44,22,47,88,43,55,99,64,109}; BubbleSort(nums,10); print(nums,10); return 0;}
0 0
- 冒泡排序(bubble sort)
- Bubble Sort 冒泡排序
- 冒泡排序(Bubble Sort)
- 冒泡排序 Bubble Sort
- 冒泡排序(Bubble Sort)
- [冒泡排序]Bubble Sort
- 冒泡排序(Bubble Sort)
- 冒泡排序Bubble sort
- 冒泡排序 (Bubble Sort)
- sort-冒泡排序法
- Bubble Sort 冒泡排序
- 冒泡排序(Bubble Sort)
- 冒泡排序Bubble sort
- 冒泡排序 Bubble Sort
- 冒泡排序 Bubble Sort
- 冒泡排序 Bubble Sort
- Bubble Sort冒泡排序
- sort数组冒泡排序
- 1086. Tree Traversals Again (25)
- WEB java(SSH)日记(2)
- 欢迎使用CSDN-markdown编辑器
- Android应用去掉标题栏(Android Studio)
- Valid Sudoku
- [Sort]冒泡排序
- 如何将GPS数据转换成KML数据?使用JAK的例子
- crontab,linux中创建定时任务与取消
- 命令行快速跳转/编辑神器fasd
- 基于android的Socket通信
- 内连接、左外连接、右外连接、交叉连接区别
- HDU5584 LCM Walk 数学公式
- 话题15 异曲同工--交换变量的3种方式
- Java 中的 final 关键字的一些注意事项小记