编写函数,实现插入排序

来源:互联网 发布:淘宝查号网站 编辑:程序博客网 时间:2024/05/01 10:52

插入排序是指,先假定将 n 个元素的数列分为已有序和无序两个部分;然后将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置中。
使用 JavaScript 编写的插入排序函数如下所示:

function insertionSort(arr) {        //从第二个元素开始        for (var i = 1; i < arr.length; i++) {            // 取出待比较的元素            var k = arr[i];            // 向前找,找到比当前元素大的位置            var j;            for (j = i - 1; j >= 0 && k < arr[j]; j--) {                //向后移动一位                arr[j + 1] = arr[j];            }            // 插入元素            arr[j + 1] = k;        }    }

测试函数 insertionSort,代码如下:

  var arr = [12, 4, 9, 21, 43, 3];  insertionSort(arr);  console.log(arr);

上述代码运行时,将输出排序后的结果:[3, 4, 9, 12, 21, 43]。

0 0
原创粉丝点击