冒泡排序及其改进
来源:互联网 发布:战区 知乎 编辑:程序博客网 时间:2024/05/21 21:29
1.冒泡排序是一种非常简单的排序算法。
冒泡排序的思想是,进行
第一轮冒泡会把最大的元素放到最后的位置上,
第二轮冒泡会把第二大的元素放到倒数第二的位置上,
第
所以我们需要有个变量来控制,冒泡的轮次,其次一个变量来表示对需要排序的数组进行冒泡比较。
void BubbleSort(int A[],int length){ for(int i=0;i<length-1;++i){//冒泡的轮次 for(int j=0;j<length - i -1;++j){//冒泡比较 if(A[j] > A[j+1]){ int t = A[j]; A[j] = A[j+1]; A[j+1] = t; } } }}
改进算法:改进的一个地方在于,如果某轮冒泡的过程当中并没有进行任何的元素的交换(冒泡),这个时候可以认为所有的数据已经排序好了。因为:假设
void BubbleSort(int A[],int length){ int flag = 1;//标志某一轮是否有交换 for(int i=0;i<length;++i){ flag =1; for(int j=0;j<length - i -1;++j){ if(A[j] > A[j+1]){ int t = A[j]; A[j] = A[j+1]; A[j+1] = t; flag = 0;//有交换 } } if(flag){//没有交换,那么认为数组有序了。 break; } }}
被腾讯面试面到了,真是没有想到!!!也没准备冒泡排序。
0 0
- 冒泡排序及其改进
- 冒泡排序及其改进
- 冒泡排序及其改进
- 冒泡排序及其改进
- 冒泡排序及其改进
- 冒泡排序及其改进
- 冒泡排序及其改进
- 冒泡排序及其改进
- 冒泡排序及其改进
- 冒泡排序及其改进算法
- java 冒泡排序及其改进
- Java 冒泡排序及其改进
- 冒泡排序及其改进算法
- 冒泡排序及其改进算法
- 冒泡排序及其改进算法
- 排序算法之冒泡排序及其改进
- 排序算法--选择+冒泡及其改进
- 冒泡、插入、选择排序及其改进
- 优化SQL查询:如何写出高性能SQL语句
- 用Mat及Image<Gray, byte>同时打开图片
- 安卓虹膜识别
- 《R语言编程艺术》笔记2--向量
- 欢迎使用CSDN-markdown编辑器
- 冒泡排序及其改进
- 安卓一键监听布局的所有子控件
- The Struts dispatcher cannot be found在struts2中出现的问题
- WPF 19(绑定2-绑定资源模板)
- 存储器的分类与寻址
- java对象转xml
- arduino激光雕刻机
- 用async声明一个函数,其实相当于是再声明一个线程。调用则启动了线程
- scp 用法示例