JS入门之关于冒泡排序
来源:互联网 发布:秦丝软件 编辑:程序博客网 时间:2024/06/06 10:49
冒泡排序
理论:比较轮数 n-1 比较次数 n-1次 符合条件就交换位置
核心:双重for 循环
步骤:双重for 循环 指定轮数和次数 判断是都符合最后的标准,如果符合就交换位置
//冒泡排序简单版
var arr = [23,54,65,43,12,58];var temp;var m = 0; //循环总次数for (var i = 0; i < arr.length-1; i++) {// 控制轮数for (var j = 0; j < arr.length-1; j++) {// 控制次数if (arr[j]>arr[j+1]) {// 判断是否符合标准temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;// 交换位置 从小到大,前面比后面大就交换。}m++;}}console.log(m);console.log(arr); // 冒泡排序中级版var arr = [23,54,65,43,12,58];var temp;var m = 0;for (var i = 0; i < arr.length-1; i++) {// 控制轮数for (var j = 0; j < arr.length-1-i; j++) {// 控制次数 arr.lenth-1-i因为每一轮都会比较出最大值,所以最大值可不必再次比较。if (arr[j]>arr[j+1]) {// 判断是否符合标准temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;// 交换位置 从小到大,前面比后面大就交换。}m++;}}console.log(m);console.log(arr);
// 冒泡排序最终版var arr = [23,54,65,43,12,58];var temp;var m = 0;//循环次数for (var i = 0; i < arr.length-1; i++) {// 控制轮数var bool = true;// 开闭原则for (var j = 0; j < arr.length-1-i; j++) {// 控制次数 arr.lenth-1-i因为每一轮都会比较出最大值,所以最大值可不必再次比较。if (arr[j]>arr[j+1]) {// 判断是否符合标准temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;// 交换位置 从小到大,前面比后面大就交换。bool = false;// 如果有循环数字变动就令 bool值为false}m++;}if (bool= true) {break;// 如果 bool值为true,则证明后面无任何调换 ,排序已经完成,因此可以跳出循环。}}console.log(m);console.log(arr);
阅读全文
0 0
- JS入门之关于冒泡排序
- 算法入门之冒泡排序
- 入门算法之冒泡排序
- 排序算法入门之冒泡排序
- 排序算法入门之冒泡排序优化
- 排序算法入门之冒泡排序
- 排序算法入门之冒泡排序优化
- 排序算法入门之冒泡排序
- 排序算法入门之冒泡排序
- 排序算法入门之冒泡排序
- js中关于sort()的冒泡排序
- JS之数组中的冒泡排序
- JS经典算法之冒泡排序算法
- 每日一算法之JS冒泡排序
- 关于js事件冒泡之transitionend
- 排序算法之冒泡(下沉)排序(js和java版)
- Java入门:冒泡排序
- 冒泡排序入门
- 【Scikit-Learn 中文文档】八:最近邻
- oracle 全文索引
- Function类型(1)
- iOS-一个页面多个请求完成以后再执行其他操作
- 关于C语言变量内存分配一些自己的理解。
- JS入门之关于冒泡排序
- Baseball Elimination
- Tensorflow C++ 学习(一) 搭建环境
- Git 团队合作基本语句
- 第十讲:重载
- Android6.0运行是权限在某些手机适配问题(小米手机)
- 赵丽颖从农村姑娘翻身成公司老总,投资手段直追赵薇
- STM32如何查看Flash和RAM使用空间以及如何压缩RAM的使用空间
- 雷霆战机项目