博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
冒泡排序以及冒泡排序的优化
阅读量:4705 次
发布时间:2019-06-10

本文共 931 字,大约阅读时间需要 3 分钟。

很早接触过冒泡排序法,但一直没有真正的理解,只是为了记住而学习,今天又重新看了一下,其实冒泡排序法第一次排序会把最大的冒到最上面,第二次会把次大的泡冒到最大的后面,一次类推····,另外在排序的次数上会逐渐减少。看代码:

void bubble_sort(int *a,int n){    for(int i=0;i
a[j]) swap(&a[j-1],&a[j]); }}

其实还可以优化一下,当发现没有进行交换证明已经排好了就跳出循环。

void bubble_sort2(int *a,int n){    bool flag = true;    int k = n;    while(flag)    {        flag = false;        for(int i=1;i
a[i]) { swap(&a[i-1],&a[i]); flag = true; } } k--; }}

测试代码:

#include 
using namespace std;void bubble_sort(int *a,int n);void bubble_sort2(int *a,int n);void swap(int *a,int *b){ int tmp; tmp = *a; *a = *b; *b = tmp;}int main(){ int a[10]={
5,3,2,7,4,9,6,8,24,13}; bubble_sort2(a,10); for(int i = 0;i<10;i++) { cout<
<

 

 

 

转载于:https://www.cnblogs.com/onlycxue/archive/2013/03/11/2953788.html

你可能感兴趣的文章
技术人生:他们的毅力超过才力
查看>>
ibatis.net:在VS中支持xml智能提示
查看>>
spring+springmvc+mybaties整合实例
查看>>
window.open 子窗口关闭刷新父页面
查看>>
Hibernate的几种主键生成策略
查看>>
“速达”app电梯演说
查看>>
Crawl(1)
查看>>
设备事件
查看>>
vue入门:(组件)
查看>>
CodeForces 173A Rock-Paper-Scissors(数论)
查看>>
http--->http缓存机制系统梳理
查看>>
day14(内置函数)
查看>>
JavaWeb中四大域对象的作用范围
查看>>
冲刺第十九天
查看>>
Appium环境的安装以及一路上的坑
查看>>
【原创】红客闯关游戏部分题解
查看>>
zookeeper在集群负载均衡中的应用
查看>>
移动架构之MVP框架
查看>>
css “裁剪”图片(显示图片的一部分)
查看>>
layui框架学习记录
查看>>