当前位置:网站首页>冒泡排序
冒泡排序
2022-08-08 06:29:00 【物联网布道者】
冒泡排序
算法简介
冒泡排序是一种计算机科学领域的较简单的排序算法,时间复杂度是O(n*n),虽然运行效率较慢,但实现简单,适用于小数据的排序。 冒泡排序要重复的走访要排序的序列,一次比较相邻的两个元素,如果顺序错误就交换两者顺序,通过不断的交换来排序。
算法思想
冒泡排序是比较通过不断比较相邻的元素,通过不断的交换,将大的元素沉到底部,小的元素上浮的前面。
例如,对序列arr[] = {49,38,65,97,76,13,27,49}进行升序排序

经过第一次起泡后,最大的元素已经放到的序列的最后,然后继续进行第二次冒泡:

以此类推,经过8趟起泡后,序列便冒泡排序完成。每一趟的起泡都会将一个最大值移动到序列的后边。直到所有趟数起泡结束即完成排序。
代码示例
void swap(int* a, int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
void BubbleSort(int arr[],int n)
{
for(int i=n-1;i>0;i--){
for(int j=0;j<i;j++){
if(arr[j] > arr[j+1]){
swap(&arr[j],&arr[j+1]);
}
}
}
}
边栏推荐
- 【Unity】unity中对象池的使用
- 使用js写一个2048
- golang 服务大量 CLOSE_WAIT 故障排查
- Math工具类的ceil()、floor()、round()方法源码阅读
- jupyter notebook处理文件导致IOPub data rate exceeded
- 【Android安全】Binder解析
- 论文解读:《Mouse4mC-BGRU:用于预测小鼠基因组中DNA N4-甲基胞嘧啶位点的深度学习》
- Excel文件解析
- minikube与kubectl版本不一致问题
- Adapt-Kcr:基于学习嵌入特征和注意力架构的新型深度学习框架,用于精确预测赖氨酸(crotonylation)位点
猜你喜欢
随机推荐
Unity学习笔记 02 —— 更多API
Integer类缓存池的理解
动手学数理统计(2)
大型直播平台应用架构浅谈
论文翻译:《Phosvardeep:使用序列信息对磷酸变化的深度学习预测》
括号问题
关于单例模式
一篇文章带你解读蓝牙配对绑定
万级TPS亿级流水-中台账户系统架构设计
诡异的druid链接池链接断开故障经验总结
MySQL的DDL和DML
Zip文件的解析与生成
BLE安全之配对流程剖析(2)
Protein–RNA interaction prediction with deep learning:structure matters
Unity_折线图+UI动画
Deep-4mCGP:一种使用基于相关性的特征选择技术预测pickeringii地杆菌中4mC位点的深度学习方法
超大Excel文件的写入
Unity_扇形图(饼状图)+ UI动画
使用websocket实现服务端主动发送消息到客户端
论文解读:《4mcPred-CNN—使用卷积神经网络预测小鼠基因组中的DNA N4-甲基胞嘧啶》









