排序之冒泡排序、选择排序

一、选择排序(最简单)

1.原理:

   4  3   2   1

  第一个数与第二个数比较,4 > 3,互换位置,此时第一个数为3,第一个数在于第三个数比较,如此循环,第一轮得到第一个数为最小

2.代码:

 1 int arr[4]  = {4, 3, 2, 1};
 2
 3 for (int i = 0; i < 3; i++){
 4     for(int j = i + 1; j < 4; j++){
 5         if (arr[i] > arr[j]){
 6             int temp = arr[i];
 7             arr[i] =  arr[j];
 8             arr[j] = temp;
 9         }
10     }
11 }

二、冒泡排序

1.原理:

  第一个数与第二个数比较,4>3, 则4与3互换位置,4再与后面的数比较,每一轮产生一个最大的数。

2.源码:

 1  int arr[4] = {5,3,2,1};
 2
 3     for (int i = 3; i > 0; i--) {//i用于指示j要比较到哪个位置
 4         for (int j = 0; j < i; j++) {
 5             if (arr[j] > arr[j+1]) {
 6                 int temp = arr[j];
 7                 arr[j] = arr[j+1];
 8                 arr[j+1] = temp;
 9             }
10         }

posted @ 2018-07-20 22:45 健泽 阅读(...) 评论(...) 编辑 收藏

排序之冒泡排序、选择排序相关推荐

  1. c语言数组项目按身高排序,过三关 Java冒泡排序选择排序插入排序小练习

    材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选 ...

  2. 十大经典排序算法详解(一)冒泡排序,选择排序,插入排序

    养成习惯,先赞后看!!! 你的点赞与关注真的对我非常有帮助.如果可以的话,动动手指,一键三连吧!!! 目录 1.算法的评判标准 2.排序算法的分类 3.十大经典排序算法-冒泡排序,选择排序,插入排序 ...

  3. 冒泡排序选择排序插入排序

    目录 冒泡排序 选择排序 插入排序 冒泡排序 冒泡排序(最好是O(n), 最坏O(n2)) 原理: 拿自己与上面一个比较,如果上面一个比自己小就将自己和上面一个调换位置,依次再与上面一个比较,第一轮结 ...

  4. 牛客网Java刷题知识点之插入排序(直接插入排序和希尔排序)、选择排序(直接选择排序和堆排序)、冒泡排序、快速排序、归并排序和基数排序(博主推荐)...

    不多说,直接上干货! 插入排序包括直接插入排序.希尔排序. 1.直接插入排序: 如何写成代码: 首先设定插入次数,即循环次数,for(int i=1;i<length;i++),1个数的那次不用 ...

  5. 【数组】—冒泡排序选择排序---【巷子】

    /* 什么是冒泡排序:从头到尾比较相邻的两个数的大小,如果符合条件则进行比较 [注]:从小到大进行排序 假设有一个数组 var arr = [9,8,7,6,5,4]; 我们想要进行这个数组进行排序那 ...

  6. 【排序算法】冒泡排序|选择排序|插入排序|希尔排序

    文章目录 冒泡排序 选择排序 插入排序 希尔排序 冒泡排序   第一个元素开始向第二个元素比较,若大于则交换位置,不大于则不动.然后第二个元素和第三个元素比较,再然后第三个元素和第四个元素比较-一直比 ...

  7. C语言——十四种内部排序算法【直接插入排序-冒泡排序-选择排序-插入排序-希尔排序-归并排序-快速排序-堆排序-折半插入排序-二分查找-路插入排序-表插入排序-简单选择排序-直接选择排序-树形选择】

    目录: 一:插入排序 A:直接插入排序 1.定义: 2.算法演示 实例1: 3.基本思想 4.排序流程图 实例1: B:希尔排序 1.定义: 2.算法演示 实例2: C:其他插入排序 a:折半插入排序 ...

  8. C语言排序算法之简单交换法排序,直接选择排序,冒泡排序

    C语言排序算法之简单交换法排序,直接选择排序,冒泡排序,最近考试要用到,网上也有很多例子,我觉得还是自己写的看得懂一些. 简单交换法排序 1 /*简单交换法排序 2 根据序列中两个记录键值的比较结果来 ...

  9. python选择排序从大到小_经典排序算法和Python详解之(一)选择排序和二元选择排序...

    本文源自微信公众号[Python编程和深度学习]原文链接:经典排序算法和Python详解之(一)选择排序和二元选择排序,欢迎扫码关注鸭! 扫它!扫它!扫它 排序算法是<数据结构与算法>中最 ...

  10. 选择排序算法流程图_常用排序算法之选择排序

    前两天给大家分享了冒泡排序和插入排序(没关注的同学,可以关注后查看历史消息),今天继续给大家分享另一种常用的排序算法--选择排序. 选择排序 选择排序和插入排序很相似,也区分已排序区间和未排序区间,选 ...

最新文章

  1. java基础入门传智播客 源码_Java-_2020年版Java零基础视频教程(Java 0基础,Java初学入门)魔鬼讲师老杜出品...
  2. java异步请求显示数据格式_JSON(四)——异步请求中前后端使用Json格式的数据进行交互...
  3. MySql - 索引
  4. Python学习三——列表
  5. 【奖】《密码信》破解者们,快来领奖啦!
  6. 车辆入库java程序_java扫描入库及出库,基于谷歌类开发.仅提供完整代码 连接SQL使用,...
  7. 优秀程序员的 18 大法则【转载】
  8. NLog源码解读——StringBuilderPool
  9. .NET Core + Consul 服务注册与发现
  10. 子类重写父类变量_为什么在子类中不重写超类的实例变量
  11. Hive(一)——基础操作
  12. 成都Uber优步司机奖励政策(1月16日)
  13. 思科模拟器基础实验完整流程-初级
  14. 慢性肾炎的中医药调理【转】
  15. Cordys BOP 4.3平台使用小经验—数据库连接管理、导出流程模型为XPDL
  16. Si24R2F+2.4GHz ISM 频段低功耗无线集成嵌入式发射基带无线发射芯片
  17. 哈夫曼树:HDU5884-Sort(队列、哈夫曼树)
  18. MySQL 外键约束 以及 级联操作
  19. 评论回复功能 asp.net_升级了!最新手机版本 PS 7.2 免登陆 解锁全部高级功能
  20. 微信小程序向系统日历添加事件(提醒)实现

热门文章

  1. 【学术探讨】万能密码原理剖析
  2. 图片数据扁平化的方法
  3. omap 的framebuffer驱动程序
  4. win8计算机无法睡眠,win8系统无法进入睡眠的处理技巧
  5. 开始学CPU啦,任务艰巨
  6. Parse error. Expected a command name, got unquoted argument with text ““.
  7. [益智]:有3箱水果,一箱是苹果,一箱是橘子,一箱是两种水果的混装
  8. PAC学习框架-模型定义
  9. 关于学生课堂行为识别算法
  10. 西工大离散数学满分大作业