闲时来两个小算法动动脑,防止不脱发操作【JavaScript实现冒泡和选择】
<script>// . 数组的冒泡排序// 1 有一个无序的数字在数组中 var arrM = [4, 6, 67, 3, 8, 9, 5, 1, 2];for (var j = 0; j < arrM.length - 1; j++) { // 外循环控制轮数 for (var i = 0; i < arrM.length - j - 1; i++) { // 每个元素的比较次数if (arrM[i] > arrM[i + 1]) {var temp = arrM[i];arrM[i] = arrM[i + 1];arrM[i + 1] = temp;}}}console.log(arrM);// . 数组的选择排序 // 遍历一次就找一个最小的放在前面,第i个元素一次和后面的比较var arrX = [4, 6, 67, 3, 8, 9, 5, 1, 2];for (var i = 0; i < arrX.length; i++) { // 先把第一个 元素与后面的每一个进行比较 谁比他小就叫for(var j=i+1;j<arrX.length;j++){ // 和他自己本身就不用比较了 直接和后面的第一个开始比较var temp =null; // 申明一个临时变量作为交换if(arrX[i]>arrX[j]){temp = arrX[i];arrX[i]=arrX[j];arrX[j]=temp;}}}console.log('选择排序结果:',arrX);</script>
闲时来两个小算法动动脑,防止不脱发操作【JavaScript实现冒泡和选择】相关推荐
- 创建用户注册接口时的两个小问题
今天在创建用户注册接口时,出现了两个小问题:①利用遍历对象的方法判断接收的数据是否为空:②判断用户名是否已经存在.经过反复尝试后,最终找到了解决方法,现在分享给大家! 一.遍历对象的方法判断请求的到的 ...
- 算法练习day2——190319(大顶堆、冒泡、选择、插入)
1.实现大顶堆,用于排序 步骤: 从数组一半的位置开始建堆: 不断调整,使最大元素位于顶上 调整的过程:使根.左孩子.右孩子中的最大值位于根位置: 交换顶元素和末位置元素,同时元素个数-1 -1是为了 ...
- (P38-45)数据库系统下-数据库查询实现算法-两趟扫描算法
文章目录 1.整个关系操作存在的问题 2.两趟算法的基本思路 3.两阶段多路归并排TPMMS 4.更大规模数据集的排序问题-多趟/多阶 5.基于排序的两趟扫描算法 6.基于散列的两趟扫描算法 7.小结 ...
- 使用ASP.NET MVC 2编程时遇到的两个小问题
使用MVC2开发一个web应用的时候,遇到两个小问题,这里做下记录: (1) 通过ADO.NET Entity Data Model设计数据库结构的时候,一般情况下,如果想使我们新添加或修改的内容生效 ...
- 大数据处理时的一种BitMap小算法
一种大数据外部排序(内存无法加载所有排序元素).去除重复元素.快速找到随机被删除元素的BitMap小算法,核心思想即通过将一个数作为下标(index)来索引一个bit表示一个数是否存在,排序时的时间复 ...
- 百马百担问题:100匹马驮100担货物,其中大马驮3担货,中马驮2担,两匹小马驮1担。问共有大、中、小马各有多少匹?编程实现求解的算法。
package day_2023_3_31;public class HorseTest {public static void main(String[] args) {//一百匹马,最多有33匹大 ...
- c++ 不插入重复元素但也不排序_面试时写不出排序算法?看这篇就够了
小Hub领读: 本文主要详细讲述常见的八种排序算法的思想.实现以及复杂度.包括冒泡排序.快速排序.插入排序.希尔排序等等,文章讲解非常详细! 作者:静默虚空 https://juejin.im/pos ...
- 基于A*和势场寻路的快速小队伍动态势场避障寻路
前言 先把本算法的适用场景和优缺点写在前面,需要的可以继续看,不适用的就可以直接略过了.然后在循序渐进介绍本算法.演示效果在最后. 本算法适用场景 每次寻路以小队伍为单位(几个至几十个队员) 队员之间 ...
- 算法 - 十大经典排序算法(动图演示)
[TOC] 算法 - 十大经典排序算法(动图演示) 在计算机科学与数学中,一个排序算法(英语:Sorting algorithm)是一种能将一串资料依照特定排序方式进行排列的一种算法.最常用到的排 ...
最新文章
- 语音识别Kaldi开源
- 使用CSS3各个属性实现小人的动画
- Oracle数据库之SQL连接查询
- Windows 下目录及文件向Linux同步
- vue-i18n使用及踩坑记录
- 知乎: 如何评价阿里开源的企业级 Node.js 框架 egg? #18
- mac双击文件打不开——设置鼠标连按速度
- 一题多解(四)—— 数组中唯一出现 2 次的数
- CC2530睡眠唤醒
- 刺客信条3免uplay破解补丁
- 抽象工厂模式(Abstract Factory)及代码实现
- 腾讯通rtx中心服务器,腾讯通(RTX)详细使用教程
- 抠图软件哪个好用?这些软件你了解吗?
- Shapley Explanation Networks
- google chrome浏览器崩溃修复
- 关于Log4j 1.x 升级Log4j 2.x 那些事
- 多网卡多网关设置错误:RTNETLINK answers: File exists
- CMD打开Git Bash
- SPI DMA发送接收数据
- Word表格跨页/翻页有边框,去除(>^ω^<)
热门文章
- ravel()和flatten()以及flat的区别
- Kafka触发Rebalance的场景分析
- 2021年团体程序设计天梯赛-总决赛题解
- [渝粤教育] 西南科技大学 管理学原理 在线考试复习资料(1)
- 前端构建3D建模知识(css,html)
- android6恢复桌面,安卓手机桌面日期和天气误删除的恢复方法
- Ubuntu 命令行常见指令
- flex 居中并两端对齐
- MATLAB调用python文件以及调用.exe文件方法
- 高中计算机应用基础知识课件,计算机应用基础(windows 7+office 2010)课件 第一章 计算机基础知识.ppt.pdf-汇文网...