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

冒泡排序算法

  let dat=[5, 8, 10, 3, 2, 18, 17, 9];
function bubbleSort(data) {
for(let i=0;i<data.length-1;i++){
for(let j=0;j<data.length-1-i;j++){
if(data[j]>data[j+1]){
[data[j],data[j+1]]=[data[j+1],data[j]];
} }
}
return data;
} var sortedData=bubbleSort(dat);
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 』

 let dat=[5, 8, 10, 3, 2, 18, 17, 9];
function selectSort(data) {
for(let i=0;i<data.length-1;i++){
var k=i;
for(let j=i+1;j<data.length;j++){
if(data[j]<data[k]){
k=j;
}
}
[data[i],data[k]]=[data[k],data[i]]; }
return data;
} var sortedData=selectSort(dat);
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. 【iOS系列】- UITableView的使用技巧

    [iOS系列]- UITableView的使用 UITableView的常用属性 indexpath.row:行 indexpath.section:组 separatorColor:分割线的颜色 s ...

  2. 【iOS系列】-UITableView的使用

    UITableView的使用: 第一:数据展示条件 1,UITableView的所有数据都是由数据源(dataSource)提供,所以想在UITableView展示数据,必须设置UITableview ...

  3. C项目案例实践(0)-语言基础

    1.C语言数据类型 所谓数据类型是按被定义变量的性质.表示形式.占据存储空间的多少.构造特点来划分的.C中数据类型可分为基本数据类型.构造数据类型.指针类型.空类型4大类,结构如图: (1)基本数据类 ...

  4. Source code for redis.connection

    redis.connection — redis-py 2.10.5 documentation http://redis-py.readthedocs.io/en/latest/_modules/r ...

  5. mysql16---读写分离

    读写分离(负载平衡)(读写分离肯定要用到主从复制) 如果数据库压力很大,一台机器支撑不了,那么可以用mysql复制实现多台机器同步,将数据库的压力分散. 分表不能解决并发量大的问题. Sql语句发过来 ...

  6. 【POJ 1947】 Rebuilding Roads

    [题目链接] 点击打开链接 [算法] f[i][j]表示以i为根的子树中,最少删多少条边可以组成j个节点的子树 树上背包,即可 [代码] #include <algorithm> #inc ...

  7. Windows下手动安装redis服务

    1.Redis本身不支持windows,但是有另外的团队在维护着一个windows下的版本   2.下载地址: https://github.com/MSOpenTech/redis 2.8的版本在源 ...

  8. eclipse下清除项目的svn信息

    点击项目右键->Team->Disconnect 选择第一个即可

  9. 任务42:EF Core Migration

    任务42:EF Core Migration 右边的是在VS2017中使用的命令,左边是在VSCode 的DOS窗体中使用的 最新版本的core 2.2.1的 版本创建以后已经没有model类了. 下 ...

  10. sublim text3快速生成html代码时,tab键失效问题

    sublime text3是一款非常强大的文本编辑器,个人觉得做前端的话这款工具很好用.便携,秒启.唯一让我觉得不是特别爽的就是插件啊,都需要自己安装.不过瑕不掩瑜,这款编辑器是很适合开发前端和PHP ...