Rumah > hujung hadapan web > tutorial js > JS插入排序详解

JS插入排序详解

小云云
Lepaskan: 2018-03-07 10:42:24
asal
2877 orang telah melayarinya

原理:对整个为排序的数列分为两个部分,一部分是已经排序好的,一部分是没有排序好的,每次都从还未排序好的数列中去除一个数,插入到已经排序好的数列之中,直到未排序的数列为零;

* 在排序过程中,一般默认将数列的第一个数作为已经排序好的数列,将剩余作为未排序好的数列

数列:[ 9,8,,7,6,5,4,3,2,1]
将整个数列分为两部分:
已排序好的:9
未排序好的:8 7 6 5 4 3 2 1
从未排序好的中取出一个数,插入到排序好的数列中
已排序好的:8 9
未排序好的:7 6 5 4 3 2 1
再从未排序好的中取出一个数,插入到排序好的数列中
已排序好的:7 8 9
未排序好的:6 5 4 3 2 1
依次类推,直到所有数据都排序完成。

JS代码实现:

var arr=[9,8,7,6,5,4,3,2,1];for(var i=1;i<arr.length;i++){    var temp=arr[i];    var j=i-1;    while(j>=0&&arr[j]>temp){
        arr[j+1]=arr[j];
        arr[j]=temp;
        j--;
    }
    arr[j+1]=temp;
}console.log(arr);

输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]
Salin selepas log masuk

相关推荐:

JS实现的计数排序与基数排序算法示例_javascript技巧

JavaScript基本常用排序算法的实例解析

javascript数组去重和快速排序算法实例详解

Atas ialah kandungan terperinci JS插入排序详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan