基础算法之排序(1)--冒泡排序 改进
来源:互联网 发布:预算软件破解 编辑:程序博客网 时间:2024/06/06 04:17
/********************************************************************************************************** * Function : test * Create Date : 2014/03/23 * Author : NTSK13 * Email : beijiwei@qq.com * Copyright : 欢迎大家和我一起交流学习,转载请保持源文件的完整性。 任何单位和个人不经本人允许不得用于商业用途 转载请注明 转自 http://blog.csdn.net/beijiwei * Version : V0.1 * date : 2014/03/23 * history : V0.1 *********************************************************************************************************** 算法基础之排序(1)--冒泡排序 改进(1)基本思想: 对待排序的一组数据从前之后进行扫描,若发现相邻的两个数不同时,将这两个数进行交换. 升序和降序是同样道理. 假如待排序的一组数存于array[N],则需要对数组进行N-1次扫描 第1次扫描: array[0]和array[1]对比交换,之后array[1]和array[2]对比交换...array[N-1] 和array[N]对比交换. 第2次扫描: array[0]和array[1]对比交换,之后array[1]和array[2]对比交换...array[N-1] 和array[N]对比交换. . . . 第N-1次扫描: array[0]和array[1]对比交换,之后array[1]和array[2]对比交换...array[N-1] 和array[N]对比交换. 结束.缺点: 如果N>>100很大,当在第3次扫描结束之后,发现数据已经按照要求排列好了, 则以后的操作就是浪费功夫. 改进: 在一次扫描时,设一个标志位,若某次扫描结束,标志位没有置位,则退出**********************************************************************************************************/ #include<stdio.h> int main() { int i=0,j=0,tmp=0,flag=0;int array[10]={1,2,0,3,4,5,6,7,8,9}; printf("Before sort, The element of array is: \n"); for(i=0;i<10;i++) { printf("%d \t",array[i]); } /*********************************************************************************************************/ for(i=0;i<9;i++) {flag=0;for(j=0;j<9;j++) { if(array[j]>array[j+1]) { tmp=array[j]; array[j]=array[j+1]; array[j+1]=tmp;flag=1;} }if(flag==0)break;}/*********************************************************************************************************/ printf("\n After sort, The element of array is: \n"); for(i=0;i<10;i++) { printf("%d \t",array[i]); } printf("\n"); return 0; }
0 0
- 基础算法之排序(1)--冒泡排序 改进
- 排序算法之冒泡排序及其改进
- 基础算法之排序(1)--冒泡排序
- Java排序算法--之冒泡算法改进
- 排序算法1-冒泡排序及改进
- 冒泡排序改进算法
- 基础算法之冒泡排序
- 算法基础之冒泡排序
- 算法基础之冒泡排序
- 基础算法之 冒泡排序
- 算法基础之排序篇-冒泡排序
- 基础算法--排序: 之冒泡排序
- 数据结构之排序算法(二)-冒泡排序及改进
- 排序算法之五--冒泡排序及其改进
- 冒泡排序改进-1
- 冒泡排序的改进算法
- 改进的冒泡排序算法
- 冒泡排序及其改进算法
- 阿里巴巴2011笔试题
- 用Jersey构建RESTful服务5--Jersey+MySQL5.6+Hibernate4.3
- 利用format函数对时间变量进行计算
- vijos 1038 添加括号
- 约瑟夫环
- 基础算法之排序(1)--冒泡排序 改进
- Ubuntu-ARM FL2440 交叉编译及dnw下载环境搭建成功
- 用户CPU时间, 系统CPU时间,CPU时间,Wall time, Process time和Monotonic time.
- 黑马程序员-java基础加强-反射的深入讲解
- HTTP协议详解
- Bootsrap3与Foundation5的五个最大的区别
- mysql flush table 对查询的影响
- hdu 1098 Ignatius's puzzle数论
- 第三周作业