码迷,mamicode.com
首页 > 编程语言 > 详细

js 排序算法

时间:2019-01-18 15:11:47      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:amp   tar   指针   ons   code   src   font   soft   div   

1、插入排序

原理:

技术分享图片

技术分享图片

示例代码:

//插入排序
            function insert(a, n) {
                let i, j, temp;
                for(i = 1; i < n; i++) {
                    temp = a[i]
                    for(j = i - 1; j >= 0 && a[j] > temp; j--) {
                        a[j + 1] = a[j]
                    }
                    //找到插入位置
                    a[j + 1] = temp
                }
                return a
            }
            let arr = [8, 4, 7, 1]
            console.log(insert(arr, 4))
            //希尔排序

2、希尔排序

希尔排序是优化的插入排序,即先分组,再插入排序。

技术分享图片

示例代码:

//希尔排序
            function shell(a, n) {
                let i, j, temp, stet;
                //先分组
                for(step = Math.floor(a.length / 2); step >= 1; step = Math.floor(step / 2)) {
                    //i 从step开始
                    for(i = step; i < n; i++) {
                        temp = a[i]
                        for(j = i - step; j >= 0 && a[j] > temp; j = j - step) {
                            a[j + step] = a[j]
                        }
                        //找到插入位置
                        a[j + step] = temp
                    }
                }
                return a
            }
            let arr2 = [8, 4, 7, 1]
            console.log(shell(arr2, 4))

3、冒泡排序

技术分享图片

//冒泡排序
            function bubble(a, n) {
                let i, j, temp;
                for (i=n-1;i>=1;i--) {
                    for (j=1;j<i;j++) {
                        if (a[j-1]>a[j]) {
                            temp = a[j-1]
                            a[j-1] = a[j]
                            a[j] = temp
                        }
                    }
                }
                return a
            }
            let arr3 = [8, 4, 7, 1]
            console.log(bubble(arr2, 4))

说明:i指针从后往前。

 

 

视频:https://ke.qq.com/course/350918#term_id=100417287

js 排序算法

标签:amp   tar   指针   ons   code   src   font   soft   div   

原文地址:https://www.cnblogs.com/mengfangui/p/10287439.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!