下面是使用Node.js编写的快速排序算法:

“`javascript
function quickSort(arr, left, right){
var len = arr.length,
pivot,
partitionIndex;

if(left < right){
pivot = right;
partitionIndex = partition(arr, pivot, left, right);

//sort left and right
quickSort(arr, left, partitionIndex – 1);
quickSort(arr, partitionIndex + 1, right);
}
return arr;
}

function partition(arr, pivot, left, right){
var pivotValue = arr[pivot],
partitionIndex = left;

for(var i = left; i < right; i++){
if(arr[i] < pivotValue){
swap(arr, i, partitionIndex);
partitionIndex++;
}
}
swap(arr, right, partitionIndex);
return partitionIndex;
}

function swap(arr, i, j){
var temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}

// 调用方法如下:
var arrayToSort = [5, 3, 7, 6, 2, 9];
quickSort(arrayToSort, 0, arrayToSort.length – 1);
console.log(arrayToSort);
“`

该脚本首先定义了一个`quickSort`函数用于进行快速排序,然后定义了一个`partition`函数用于将数组划分为两个子数组,最后定义了一个`swap`函数用于交换数组中的元素位置。

© 版权声明
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容