读书人

javascript各种排序步骤

发布时间: 2012-10-14 14:55:08 作者: rapoo

javascript各种排序方法

var values_2 = [10, 6, 20, 33, 2, 5];        function SelectSort(arr) { //选择排序->直接选择排序            var temp;            for (var i = 0; i < arr.length; i++) {                var k = i;                for (var j = i + 1; j < arr.length; j++) {                    if ((arr[j]) < (arr[k]))                        k = j;                }                if (k != i) {                    temp = arr[i];                    arr[i] = arr[k];                    arr[k] = temp;                }            }            return arr;        }        //最高效的排序方法        function QuickSort(arr) { //交换排序->快速排序            if (arguments.length > 1) {                var low = arguments[1];                var high = arguments[2];            } else {                var low = 0;                var high = arr.length - 1;            }            if (low < high) {                // function Partition                var i = low;                var j = high;                var pivot = arr[i];                while (i < j) {                    while (i < j && arr[j] >= pivot)                        j--;                    if (i < j)                        arr[i++] = arr[j];                    while (i < j && arr[i] <= pivot)                        i++;                    if (i < j)                        arr[j--] = arr[i];                } //endwhile                arr[i] = pivot;                // end function                var pivotpos = i; //Partition(arr,low,high);                QuickSort(arr, low, pivotpos - 1);                QuickSort(arr, pivotpos + 1, high);            } else                return;            return arr;        }        function BubbleSort(arr) { //交换排序->冒泡排序            var temp;            for (var i = 0; i < arr.length; i++) {                for (var j = arr.length - 2; j >= i; j--) {                    if ((arr[j + 1]) < (arr[j])) {                        temp = arr[j + 1];                        arr[j + 1] = arr[j];                        arr[j] = temp;                    }                }            }            return arr;        }        alert(QuickSort(values_2));        //alert(SelectSort(values_2));        //alert(BubbleSort(values_2));

读书人网 >JavaScript

热点推荐