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

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


  假设有一个数组 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/415669.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lodash 根据某个字段排序处理

使用lodash库就行 const _ require(lodash); const users [{ user: fred, age: 48 },{ user: barney, age: 34 },{ user: fred, age: 42 },{ user: barney, age: 36 } ];// 以 user 升序排序 再 以 age 降序排序。 _.orderBy(users, [user, age], [asc, desc]); // >…

前端学习(2611):vuex实现增加

1添加组件 2导入 3添加效果 4

LR常见问题整理

首先要感谢群友的无私分享&#xff0c;才能得到这篇好的学习资料&#xff0c;整理得太好了&#xff0c;所以收藏保存&#xff0c;方便以后学习。 一&#xff1a;LoadRunner常见问题整理 1.LR 脚本为空的解决方法&#xff1a; 1.去掉ie设置中的第三方支持取消掉 2.在系统属性&a…

Android通知点击事件传递参数

显示通知private void processCustomMessage(Context context, Bundle bundle) {RemoteViews customView new RemoteViews(context.getPackageName(), R.layout.kongreveiver);NotificationCompat.Builder mBuilder new NotificationCompat.Builder(context);int ifnotifica …

小程序 报错 err code: 40029, errmsg: 'invalid code, hints: [ req_id: JhIay6yFe-XN5A3 ]'

发布小程序体验版的时候&#xff0c;直接修改原来的demo版的代码。 需要将后台的appID、appSecret换成最新的&#xff0c;就可以解决。

Android修改项目包名

1.首先新建一个项目&#xff0c;默认结构如下&#xff0c;红色的就是包名 2&#xff0c;更改显示项目结构方式&#xff0c;首先1&#xff0c;点击齿轮的图案。然后把第二步中的勾去掉 3更改项目结构显示后如下&#xff1a; 4&#xff0c;选中要修改的报名&#xff0c;快捷键shi…

ora--12154 :TNS :could not resolve the connect identifier specified 错误处理

ora--12154 &#xff1a;TNS :could not resolve the connect identifier specified 错误处理 今天碰到一个情况&#xff0c;有一台机器用PLSQL连接数据库怎么也连不上&#xff0c;一直报这个错&#xff1a;ora--12154 &#xff1a;TNS :could not resolve the connect identif…

刷题总结——xor(ssoj)

题目&#xff1a; 题目背景 OURCE&#xff1a;NOIP2015-SHY-7 题目描述 求一棵带边权的树的一条最大 Xor 路径的值。这里的“路径”不一定从根到叶子结点&#xff0c;中间一段路径只要满足条件也可以。 输入格式 第一行&#xff0c;一个整数 N &#xff0c;表示一颗树有 N 个节…

pm2 可视化在线监控平台 介绍 keymetrics

使用node的同学进行项目部署时&#xff0c;基本上都是用pm2进行部署。 我使用keymetrics进行实时监控 1、进行登录 地址&#xff1a;https://app.keymetrics.io/#/register 2、获取系统分配public key和secret key 3、在安装有pm2的服务器端输入以下命令 pm2 interact your-…

工作116:确定需求报告

1.显示发布页面1)调用分发接口 获取表单类型/internal/plugins/{plugin-keys}/catalog-items/different2)调用经管接口 发布页内容,获取发布页数据/task/1/release3)填写完表单数据 点击确定1&#xff09;判别是图文发布还是视频发布1) 视频发布2) 图文发布调用分发接口创建图…

Android百度云推送接入,附完整代码

1、创建应用获取api_key 百度云推送&#xff1a;http://push.baidu.com/ SDK下载&#xff1a;http://push.baidu.com/sdk/push_client_sdk_for_android 2、添加jar到libs文件下 compile files(libs/galaxy.jar) implementation files(libs/pushservice-6.1.1.21.jar) impleme…

新建用户、付权限命令

删除已有用户及与用户相关的 drop user usernam cascade; 以DBA登录 sqlplus sys/gislxghas sysdba 创建表空间 create tablespace workdatafile E:\ghoa\ldghTableSpace\work.dbfsize 400m autoextend on next 20m online; 创建新用户 create user work identified…

Spring自动装配----注解装配----Spring自带的@Autowired注解

Spring自动装配----注解装配----Spring自带的Autowired注解 父类 package cn.ychx;public interface Person {public void sayHello();} 学生子类package cn.ychx;public class Student implements Person {Overridepublic void sayHello() {System.out.println("Hello! M…

mac 查看指定端口情况 并杀死该进程

本来自己的8081端口很好用的&#xff0c;但是突然访问不了了。估计测试的时候有其他进程占用了端口。下面我需要查杀他。 1、查看端口情况 lsof -i tcp:8081COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME node 26519 caowei 31u IPv4 0x57e8…

工作117:eachat图

let option1 {tooltip : {trigger: axis},legend: {data:[邮件营销,联盟广告,视频广告,直接访问,搜索引擎]},calculable : true,xAxis : [{type : category,boundaryGap : false,axisTick: {show: false},data : [周一,周二,周三,周四,周五,周六,周日]}],yAxis : [{type : val…

CreateProcess error = 2,系统找不到指定的文件

针对有安装NDK用户Android/Sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/linux-x86_64/bin/mips64el-linux-android-strip 找不到, 导致编译报错 也就是说在Android/Sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/linux-x86_64/ 路径下找…

有关性能测试结果的几点分析原则

性能 测试结果的分析原则&#xff1a; 具体问题具体分析&#xff08;这是由于不同的应用系统&#xff0c;不同的测试目的&#xff0c;不同的性能关注点&#xff09; 查找瓶颈时按以下顺序&#xff0c;由易到难。 服务器硬件瓶颈-〉网络瓶颈&#xff08;对局域网&#xff0c;可以…

UVALive4256 Salesmen

题意:一个n个点的联通图(n<100)的无向联通图&#xff0c;还有一个长度为L序列(L<200)&#xff0c;问最少改变序列中几个数使得序列相邻两个数是相同或者在图中相邻 题解:dp[i][j]代表第i个数变为j的最小次数,O(n*L*n) #include <bits/stdc.h> #define maxn 210 #de…