/*  什么是冒泡排序:从头到尾比较相邻的两个数的大小,如果符合条件则进行比较    【注】:从小到大进行排序

  假设有一个数组 var arr = [9,8,7,6,5,4]; 我们想要进行这个数组进行排序那么按照冒泡排序的规则我们可以进行演变和尝试

  第一次比较  9 8 7 6 5 4    8 9 7 6 5 4  8 7 9 6 5 4  8 7 6 9 5 4  8 7 6 5 9 4  8 7 6 5 4 9     通过第一轮的比较我们将最大的数字9比较了出来,但是这并不是我们想要的最终结果,所以我们还需要继续比较

  第二次比较  8 7 6 5 4

  7 8 6 5 4  7 6 8 5 4  7 6 5 8 4  7 6 5 4 8    通过第二轮比较我们将最大数字8比较了出来

  第三次比较  7 6 5 4    6 7 5 4  6 5 7 4   6 5 4 7    通过比较我们将最大数字7比较了出来

  第四次比较  6 5 4

  5 6 4  5 4 6    通过比较我们将最大数字6比较了出来

  第五次比较  5 4    4 5    通过比较我们将数组5比较了出来

    【注】:通过以上演变我们得出一个结论也就是说比较的次数等于数组的长度减一; 每一次的比较内部需要两两比较的次数是 数组的长度-1-i  */var temp;for(var i=0;i<arr.length-1;i++){  for(var j=0;j<arr.length-1-i;j++){    if(arr[j]>arr[j+1]){       temp = arr[j];       arr[j] = arr[j+1];       arr[j+1] = temp;     }  }}

/*  什么是选择排序     类似于打擂台一样,谁赢了谁就站在第一位

   
  假设有一个数组 var arr = [9,8,7,6,5]; 我们想要进行这个数组进行排序那么按照选择排序的规则我们可以进行演变和尝试
  第一轮比较  9 8 7 6 5    8 9 7 6 5  7 9 8 6 5   6 9 8 7 5   5 9 8 7 6

  第一轮比较出最小的数放在了第一位

  第二轮比较

  9 8 7 6

  8 9 7 6  7 9 8 6  6 9 8 7

  第二轮比较出最小的数放在了第一位

  第三轮比较  9 8 7

  8 9 7  7 9 8

  第三轮比较出最小的数放在了第一位

  第四轮比较  9 8    8 9

  第四轮比较完毕

  【总结】:首先看比较次数的规律:数组的长度-1,每轮比较的规律:每次比较的位置都是当前数字的位置+1进行的比较

*/var temp;for(var i=0;i<arr.length-1;i++){  for(var j=i+1;j<arr.length;j++){    if(arr[i]>arr[j]){      temp = arr[i];      arr[i] = arr[j];      arr[j] = temp;    }  }}

转载于:https://www.cnblogs.com/nanianqiming/p/7638814.html

【数组】—冒泡排序选择排序---【巷子】相关推荐

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

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

  2. 第三次学JAVA再学不好就吃翔(part59)--冒泡排序选择排序以及二分查找

    学习笔记,仅供参考 文章目录 数组高级冒泡排序 数组高级选择排序 二分查找法 数组高级冒泡排序 冒泡排序原理:设数组中有n个元素,从第一个元素开始,对相邻元素进行两两比较,两个元素中大的往后放,第一次 ...

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

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

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

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

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

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

  6. 【排序算法】冒泡排序 选择排序 插入排序 希尔排序(数组)

    冒泡排序 #include<iostream> using namespace std; #define SWAP(a,b) {int tmp;tmp=a;a=b;b=tmp;} int ...

  7. 过三关 Java冒泡排序选择排序插入排序小练习

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

  8. 冒泡排序 选择排序 快速排序(C语言)

    #include <stdio.h> #include <stdlib.h> #include <time.h> //用到了time函数#define arrayS ...

  9. 了解冒泡排序选择排序

    冒泡排序 依次比较相邻的两个数,将小数放在前面,大数放在后面. 双层循环比较,然后交换位置 注意:冒泡排序比较的是相邻的两个数,而选择排序比较的整个队列中最大或者是最小的数进行交换. 第一趟:首先比较 ...

最新文章

  1. mybatis配置文件解析
  2. 嵌入式定制开发合作伙伴应该这样选择
  3. 当Windows Vista提示“内存不足”……
  4. 你真敢ZAO吗?解读换脸AI “细思极恐” 的用户协议
  5. 最详细的Mac下安装nacos教程来了
  6. 带头节点循环链表实现队列
  7. HTMLCSS常见问题整理(四)
  8. NEC描绘智慧城市蓝图
  9. 商务风格表格的设计与实现
  10. 在win7在结构cocos2d-x v3.2rc0开发环境(For Android)
  11. 从0开始学习C#第二天
  12. 概率论与数理统计(第四版) 第一章:概率论的基本概念(总结)
  13. 高精度乘法+刘汝佳BigNumber高精度结构体
  14. GPS经纬度坐标与XY坐标相互转换的python程序
  15. 去雾算法学习-----Automatic recovery of the atmospheric light hazy image(fattal 大气光值自适应去雾算法)阅读笔记
  16. 面试被问:你了解的海康威视是一家怎样的公司?
  17. Mysql的基本操作和注意点
  18. nginx教程(一)--nginx是什么?能干什么?
  19. 被iPhone 11带火的UWB产业链有哪些?
  20. 地下水情监测仪应用库区安全行业

热门文章

  1. 快速解决 Android SDK Manager 无法下载或者下载速度慢
  2. Linux 串口编程四 串口设备程序开发
  3. World Token钱包官网骗局模式,是传销吗?
  4. 前端学习(3212):解决类中的this问题
  5. 前端学习(2794):实现拨打电话功能
  6. 工作208:element $message居中测试无法实现
  7. 前端学习(2668):删除功能
  8. 前端学习(1560):ng-class颜色切换
  9. 前端学习(741):通过榨汁机看透函数
  10. mybatis学习(33):动态sql if