冒泡排序是排序算法里基本上算是最简单的算法了!不过复杂度也很高O(n2);
基本思想就是在在每次冒泡排序过程中让第一个记录和第二个记录比较若为逆序则交换;否则不动;然后是第二个和第三个记录,以此类推;这样第几次比较完成后:最大的记录(若结果要求为递增)则到达最后;在第 i 趟排序时后 n-i 个元素已经完成排序;这样进行到第n次时就排序结束了!
使用双重循环来实现:第一层循环表示要排序的次数和第 i 大的个元素在进行排序;第二层循环表示在比较的次数和实现他的位置调换;
实现:
#include<iostream>

#define swap(x,y,t)((t)=(x),(x)=(y),(y)=(t))

using namespace std;

const int N=10;

void sort(int b[],int count);

int main()
{
        int a[N];
        cout<<endl
        <<"please input the "<<N<<"numbers:"<<endl;

for (int i=0;i<N;i++)
                cin>>a[i];
        cout<<endl
        <<"the original numbers you have inputed are: "<<endl;

for (int i=0;i<N;i++)
                cout<<" "<<a[i];
        cout<<endl
        <<"After sorting the numbers ,the numbers are:"<<endl;
        sort(a,N);
        return 0;
}
void sort(int b[],int count)
{
        int t,tempt;
        for (int i=0;i<count;i++)
        {
                t=count-i-1;
                for (int j=0;j<t;j++)
                {
                        if (b[j]>b[j+1])
                                swap(b[j],b[j+1],tempt);
                }
        }
        for (int i=0;i<N;i++)
                cout<<" "<<b[i];
}

注:代码为转载!!

转载于:https://blog.51cto.com/hanhaiyixin/235348

冒泡排序 C++实现相关推荐

  1. PHP算法题:如何实现冒泡排序

    算法原理: 1.比较相邻的元素,如果第一个比第二个大,那么就交换这两个元素. 2.对每一对相邻元素做同样的工作,从第一对开始到最后一对结束,最后的元素应该会是最大的数. 3.除了最后一个元素外,针对其 ...

  2. C#基础——数组(冒泡排序)

    数组 所谓数组,就是相同数据类型的元素按一定的顺序的集合,就是把有限个类型相同的变量用一个名字来命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标.组成数组的各个变量称为数组的分量 ...

  3. python实现冒泡排序完整算法_Python实现冒泡排序算法的完整实例

    冒泡排序:顾名思义就是(较小的值)像泡泡一样往上冒,(大的值)往下沉. 实现原理:依次将相邻两个数值进行比较,较小的数值移到左边,较大的数值移到右边,依次比较完第一轮后,最大的数值应该排在最右边.然后 ...

  4. 为什么双层循环 冒泡排序_冒泡排序的双重循环理解

    主要说一下冒泡排序的一些关键地方的个人理解,比如算法思想,两个循环的作用意义,中间循环变量范围的确定等. 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面 ...

  5. 排序 时间倒序_经典排序算法之冒泡排序(Bubble Sort)

    冒泡排序 ( Bubble Sort ) 冒泡排序,正如它的名字一样,未排序数组中的最大(小)值会依次往上浮.冒泡排序主要有两个基本步骤:相邻元素之间的比较 和 交换位置. 步骤分析: 令待排序序列为 ...

  6. Equalizing Two Strings 冒泡排序or树状数组

    首先考虑排序后相等 如果排序后相等的话就只考虑reverse长度为2的,所以a或者b排序后存在相邻两个字母相等的话就puts YES,n>26也直接puts YES 不然的话就假设c为a,b排完 ...

  7. java冒泡排序_Java中的经典算法之冒泡排序(Bubble Sort)

    原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后.然后比较第2个数和第3个数,将 ...

  8. python冒泡排序与常用数学计算

    一 .冒泡排序: 冒泡排序: 属于交换排序; 两两比较大小,交换位置,如同水泡大的往上(右)跑; n个数从左至右编号从0到n-1,索引0和1比较,如果索引0大,则交换两者位置; 如果索引1大则不用交换 ...

  9. Console-算法-冒泡排序法|倒水法

    ylbtech-Arithmetic:Console-算法-冒泡排序法|倒水法 1.A,案例 -- ================================================== ...

  10. java 冒泡排序和快速排序 实现

    面试的时候经常会遇到面试官让你直接手写排序算法,下面是冒泡排序和快速排序的实现. 冒泡排序 基本流程就是,自下而上比较相邻的两个元素进行比较,让大的元素往下面沉,较小的往上冒.按照排序规则进行比较,如 ...

最新文章

  1. 两个EdgeNode夹一个Node
  2. 报错解决:fatal error: json/json.h: No such file or directory
  3. 指定的文件夹没有包含设备的兼容软件驱动程序_Windows 10 2020年5月更新兼容性问题汇总...
  4. Postman:Postman(HTTP的测试工具)使用方法详细攻略
  5. 面向对象2(构造方法、抽象类、接口)
  6. 二级路由dhcp关闭连不上wifi_酒店网络故障:原来还与DHCP服务器有关
  7. Android开发学习之路-指纹识别api
  8. 【转载】JAVA的泛型和C++的模板的区别与联系
  9. [原创]网银在线chinabank安全漏洞之“不完善的开发软件包”
  10. 小程序服务器1兆宽带够用,宽带经验 篇一:200M宽带,真的适合你吗?
  11. Nhibernate与代码生成器介绍(转载)
  12. 第三章 网络体系结构作业
  13. 微波工程(3)——网络
  14. mysql中引号的作用是什么_mysql单引号和双引号的用法
  15. 三大控制结构 js函数定义
  16. 【Linux】一步一步学Linux系列教程汇总(更新中......)
  17. vue图片裁剪插件:vue-img-cutter
  18. 2021年N1叉车司机模拟考试题库及N1叉车司机操作证考试
  19. 免费拿走Vivado2017.4安装包及其license(附带安装教程)
  20. 安卓手机使用Alpine Term APK安装Linux系统,并安装docker

热门文章

  1. cadence 16.6中Z-copy的用法
  2. A站有一个页面需要PV统计 A站读写该数据 B站读该数据 需要数据同步
  3. Redis主从配置详细过程
  4. [恢]hdu 1421
  5. 队列定义、队列的存储结构
  6. Java NIO零拷贝
  7. python的类里的属性是否可以为列表_是否有Python方法可以访问类的所有非私有和非内置属性?...
  8. Go语言游戏服务器思维导图
  9. 登录与注册 艺术与业务 的结合
  10. 我花了一年时间来学机器学习