IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 几种排序算法的实现 -> 正文阅读

[JavaScript知识库]几种排序算法的实现

    //选择排序
        function findMaxInde(arr, n) {
            var max = 0;
            var index = 0;
            for (var i = 0; i < n; i++) {
                if (arr[i] > max) {
                    max = arr[i];
                    index = i;   //记录最大值的索引号
                }
            }
            return index
        }
        function selectionP(arr, n) {
            while (n > 1) {
                var index = findMaxInde(arr, n);
                var t = arr[index];
                arr[index] = arr[n - 1];  //将最大值与数组最后一位数进行交换
                arr[n - 1] = t;
                n--;                      //依次从后面由大到小排序
            }
            console.log(arr)
        }
        var arr = [1, 5, 4, 9, 8, 7, 6, 3]
        selectionP(arr, 8)
        //插入排序
        function insert(arr, n) {
            var index = n;
            var key = arr[n];
            while (arr[index - 1] > key) {
                arr[index] = arr[index - 1];
                index--;   //前移
                if (index == 0) {  //到零停下
                    break;
                }
            }
            arr[index] = key;     

        }
        function SortInsert(arr, n) {
            for (var i = 1; i < n; i++) {
                insert(arr, i)
            }

        }
        var arr2 = [8, 5, 9, 1, 4, 3, 6];
        SortInsert(arr2, 7);
        console.log(arr2)
  //冒泡排序
        function bubble(arr, n) {
            var t;
            for (var i = 0; i < n; i++) {
                if (arr[i] > arr[i + 1]) {
                    t = arr[i + 1];
                    arr[i + 1] = arr[i];
                    arr[i] = t;
                }
            }
        }
        function bubbleSort(arr, n) {
            for (var i = n; i >= 1; i--) {
                bubble(arr, i);
            }
        }
 var list = [1, 5, 6, 8, 9, 4];
        //快速排序
        function quickSort(list) {
            if (list.length == 0 || list.length == 1) { return list }
            var index = Math.floor(list.length / 2);
            var cur = list.splice(index, 1);
            var left = [];
            var right = [];
            list.forEach(item => {
                if (item <= cur) {
                    left.push(item);

                } else {
                    right.push(item);
                }
            })
            return quickSort(left).concat(cur).concat(quickSort(right))
        }

        console.log(quickSort(list));

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-11 18:43:10  更:2021-09-11 18:43:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 11:41:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码