冒泡排序
来源:互联网 发布:程序员初级职称 编辑:程序博客网 时间:2024/05/18 00:21
冒泡排序
冒泡排序是排序算法中比较基础的一种排序,主要思想是:每次比较相邻两个数的大小,例如a[0]和a[1]比较,若a[0]>a[1],则交换,依次向后比较,一轮下来,最大的交换到最后面,之后每轮比较出大的放到后面。
代码实现如下:
#include<stdio.h>#include<stdlib.h>//冒泡排序void BubbleSort(int a[],int nlength){int i,j,mark=0;if(a == NULL||nlength <= 0) return ;for(i=0;i<nlength;i++){mark = 0; for(j=0;j<nlength-i-1;j++) //优化1{if(a[j]>a[j+1]) //相邻元素进行比较{//不用中间变量实现两个类型相同的变量的交换a[j]^=a[j+1];a[j+1]^=a[j];a[j]^=a[j+1]; mark=j+1; //标记最大交换位置}}if(mark==0) break;i=nlength-1-mark; //减少整体执行次数---优化2}}int main(){int i;int a[]={1,3,2,5,8,6,7,9};int n=sizeof(a)/sizeof(a[0]);BubbleSort(a,n);for(i=0;i<n;i++) printf("%d ",a[i]);system("pause");return 0;}
阅读全文
0 0
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- Queryable States in ApacheFlink
- 容器时代CI/CD平台中的Kubernetes调度器定制方法
- 关于阻塞 非阻塞 同步 异步的解释
- mysql多实例安装
- android中的ANR异常
- 冒泡排序
- 基于Spark ALS在线推荐系统
- 基于89C51和STM32F1实现2.4G无线射频智能家居
- wampserver环境下配置虚拟域名
- Windows下TCP聊天服务器与客户端雏形的实现
- Python中的Numpy入门教程
- bashTomcat02
- 不需要新发卡的一卡通系统全新设计解决思路
- Climbing Stairs