冒泡排序
来源:互联网 发布:网上代理销售软件 编辑:程序博客网 时间:2024/06/08 08:47
冒泡排序是一种交换排序,它的关键思想是:两两相邻元素的比较。如果反序则交换,直到没有反序的元素。
最差时间复杂度 O(n^2)最优时间复杂度 O(n)平均时间复杂度 O(n^2)最差空间复杂度 O(n),辅助空间 O(1)
void swap(int& x,int& y){ if(x == y) return ; x ^= y; y ^= x; x ^= y;}void BubbleSort(int arr[],int n){ int i,j,flag = 1;//flag用作标记 for(i=0;i<n && flag;++i) { flag = 0; for(j = n-1;j>=i;--j) { if(arr[j-1]>arr[j])//当元素有序后即不会进入循环,因此标志位仍为0,外层循环中止。 { swap(arr[j-1],arr[j]); flag = 1; } } }}
阅读全文
0 0
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 使用Object.definePropery方法定义一个只读对象实例
- java装箱和拆箱的记录
- java 反射技术:加载类,解析类的组成部分
- Pandas基础复习-Series
- 自定义View控件点击随机生成4位数
- 冒泡排序
- Android自定义View(一、初体验自定义TextView)
- ocs计费项目重要点
- Java的单元测试(Junit)
- C#梳理【反射Reflection】
- 阿里云何万青:搭建首个全球云上超算中心_做超算能力的普惠者
- synchronized关键字知多少
- 【android】几个和密码相关的问题分析(开机密码输入无效、FDE后改变密码无效、FDE后解密失败)
- HDU 1025 Constructing Roads In JGShining's Kingdom (简单dp, 最长上升子序列LIS)