之前已经介绍过冒泡排序算法和简单选择排序算法和原理,现在有Js实现。

冒泡排序算法

  1. let dat=[5, 8, 10, 3, 2, 18, 17, 9];
  2. function bubbleSort(data) {
  3. for(let i=0;i<data.length-1;i++){
  4. for(let j=0;j<data.length-1-i;j++){
  5. if(data[j]>data[j+1]){
  6. [data[j],data[j+1]]=[data[j+1],data[j]];
  7. }
  8.  
  9. }
  10. }
  11. return data;
  12. }
  13.  
  14. var sortedData=bubbleSort(dat);
  15. console.log(sortedData);

简单选择排序算法

初始关键字:『 8,5,2,6,9,3,1,4,0,7 』

第一趟排序后:0,『5,2,6,9,3,1,4,8,7』

第二趟排序后:0,1,『2,6,9,3,1,4,8,7』

第三趟排序后:0,1,2,『6,9,3,5,4,8,7』

第四趟排序后:0,1,2,3,『9,6,5,4,8,7』

第五趟排序后:0,1,2,3,4,『6,5,9,8,7』

第六趟排序后:0,1,2,3,4,5,『6,9,8,7』

第七趟排序后:0,1,2,3,4,5,6,『9,8,7』

第八趟排序后:0,1,2,3,4,5,6,7,『8,9』

第九趟排序后:0,1,2,3,4,5,6,7,8,『9』

结果:          『 0,1,2,3,4,5,6,7,8,9 』

  1. let dat=[5, 8, 10, 3, 2, 18, 17, 9];
  2. function selectSort(data) {
  3. for(let i=0;i<data.length-1;i++){
  4. var k=i;
  5. for(let j=i+1;j<data.length;j++){
  6. if(data[j]<data[k]){
  7. k=j;
  8. }
  9. }
  10. [data[i],data[k]]=[data[k],data[i]];
  11.  
  12. }
  13. return data;
  14. }
  15.  
  16. var sortedData=selectSort(dat);
  17. console.log(sortedData);

冒泡排序算法和简单选择排序算法的js实现的更多相关文章

  1. JAVA简单选择排序算法原理及实现

    简单选择排序:(选出最小值,放在第一位,然后第一位向后推移,如此循环)第一位与后面每一个逐个比较,每次都使最小的置顶,第一位向后推进(即刚选定的第一位是最小值,不再参与比较,比较次数减1) 复杂度: ...

  2. 【算法】简单选择排序 O(n^2) 不稳定的 C语言

    简单选择排序 一.算法描述 假设序列中有N个元素: 第1趟找到第1到N个元素之间最小的一个,与第1个元素进行交换 第2趟找到第2到N个元素之间最小的一个,与第2个元素进行交换 第3趟找到第3到N个元素 ...

  3. 简单选择排序算法的C++实现

    简单选择排序采用最简单的选择方法,即在剩余序列中选出最小(或最大)的关键字,和剩余序列的第一个关键字交换位置,依次选择下去,直至使整个序列有序. 算法中两层循环的执行次数和初始序列没有关系,第二层循环 ...

  4. python算法与数据结构-选择排序算法(33)

    一.选择排序的介绍 选择排序(Selection sort)是一种简单直观的排序算法.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素, ...

  5. 【排序算法】直接选择排序算法 Java实现

    基本思想 直接选择排序是从无序区选一个最小的元素直接放到有序区的最后. 初始状态:无序区为a[1...n],有序区为空. 第一次排序:在无序区a[1...n]中选出最小的记录a[k],将它与有序区的第 ...

  6. 排序算法系列:选择排序算法JAVA版(靠谱、清晰、真实、可用、不罗嗦版)

    在网上搜索算法的博客,发现一个比较悲剧的现象非常普遍: 原理讲不清,混乱 啰嗦 图和文对不上 不可用,甚至代码还出错 我总结一个清晰不罗嗦版: 原理: 从数组头元素索引i开始,寻找后面最小的值(比i位 ...

  7. 简单选择排序算法(C++版)

    #include <iostream> using namespace std; /** Simple Select Sort * brief: * Key: * * position: ...

  8. 算法学习之选择排序算法的python实现

    ——参考自<算法图解> def findSmallest(arr): # 假设第一个元素最小 smallest = arr[0] smallest_index = 0 for i in r ...

  9. 「浙江理工大学ACM入队200题系列」问题 A: 零基础学C/C++34—— 3个数比较大小(冒泡排序与选择排序算法)

    本题是浙江理工大学ACM入队200题第四套中的A题,同时给出了冒泡排序和选择排序算法 我们先来看一下这题的题面. 由于是比较靠前的题目,这里插一句.各位新ACMer朋友们,请一定要养成仔细耐心看题的习 ...

随机推荐

  1. (WPF)附加属性

    <Window x:Class="DeepXAML.MainWindow" xmlns="http://schemas.microsoft.com/winfx/20 ...

  2. 配置 Apache 服务器禁止所有非法域名 访问自己的服务器

    .http2..1以前: 第一种 直接拒绝访问 打开 httpd.conf 文件,将一下配置追加到文件最后. <pre name="code" class="htm ...

  3. 图像处理之基础---boxfiter

    http://blog.sina.com.cn/s/blog_7221228801019yg2.html DSP6000图像位移与变形典型算法 http://blog.csdn.net/anson20 ...

  4. Android ImageLoader 本地缓存

    Android ImageLoader 本地缓存 本地缓存                                                                        ...

  5. Supporting IPv6-only Networks

    Supporting IPv6-only Networks - Support - Apple Developer https://developer.apple.com/support/ipv6/ ...

  6. Google Gson使用简介

    1.Google Gson在android studio的使用 gradle:compile 'com.google.code.gson:gson:2.2.4' 2.Gson 注解 @Expose 注 ...

  7. idea自定义文档注释模板

    1.类注释模板 IntelliJ IDE --> Preferences --> Editor --> File and Code Templates --> Includes ...

  8. 建立自己的私有docker(ssl&login auth)

    建立私有docker需要先建立ssl证书,然后建立htpass的登陆证书 最后使用nginx配置docker-compose.yml 参考: https://www.digitalocean.com/ ...

  9. ZOJ1610 Count the Colors —— 线段树 区间染色

    题目链接:https://vjudge.net/problem/ZOJ-1610 Painting some colored segments on a line, some previously p ...

  10. YTU 2915: Shape系列-1

    2915: Shape系列-1 时间限制: 1 Sec  内存限制: 128 MB 提交: 283  解决: 221 题目描述 小强开始迷恋彩色的Shape,于是决定做一个Shape类.Shape类有 ...