用JavaScript语言写一个快排
时间: 2023-02-21 16:40:52 浏览: 56
下面是JavaScript语言实现的快速排序算法:
```
function quickSort(array) {
if (array.length <= 1) {
return array;
}
let pivotIndex = Math.floor(array.length / 2);
let pivot = array[pivotIndex];
let left = [];
let right = [];
for (let i = 0; i < array.length; i++) {
if (i !== pivotIndex) {
if (array[i] < pivot) {
left.push(array[i]);
} else {
right.push(array[i]);
}
}
}
return quickSort(left).concat([pivot], quickSort(right));
}
```
在上面的代码中,我们选择数组的中间元素作为枢轴,然后将数组分成两个部分:比枢轴小的元素和比枢轴大的元素。最后,我们递归地调用快速排序函数,将两个部分分别排序,最终合并为一个有序数组。
相关问题
使用JavaScript写一个快排
下面是一个简单的JavaScript实现的快速排序代码:
```
function quickSort(arr) {
if (arr.length <= 1) {
return arr;
}
var pivotIndex = Math.floor(arr.length / 2);
var pivot = arr.splice(pivotIndex, 1)[0];
var left = [];
var right = [];
for (var i = 0; i < arr.length; i++) {
if (arr[i] < pivot) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return quickSort(left).concat([pivot], quickSort(right));
}
```
这是一个递归的实现,通过选择一个基准元素(通常是数组的中间元素),将数组分成左右两部分,左边的元素都小于基准元素,右边的元素都大于基准元素,然后对左右两部分分别递归调用快速排序,最后将三个部分合并起来。
用javascript语言写一个双色球
以下是一个用JavaScript语言编写的简单双色球随机号码生成器的示例代码:
```javascript
// 生成随机数
function getRandomNumber(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
// 生成双色球号码
function generateLotteryNumbers() {
var redBallNumbers = [];
for (var i = 1; i <= 33; i++) {
redBallNumbers.push(i);
}
var redBalls = [];
for (var i = 0; i < 6; i++) {
var index = getRandomNumber(0, redBallNumbers.length - 1);
redBalls.push(redBallNumbers[index]);
redBallNumbers.splice(index, 1);
}
redBalls.sort(function(a, b) { return a - b; });
var blueBall = getRandomNumber(1, 16);
return {
redBalls: redBalls,
blueBall: blueBall
};
}
// 输出双色球号码
var lotteryNumbers = generateLotteryNumbers();
console.log("红球号码: " + lotteryNumbers.redBalls.join(", "));
console.log("蓝球号码: " + lotteryNumbers.blueBall);
```
此代码将生成一个包含6个红球和1个蓝球的双色球号码。红球的范围是1到33,蓝球的范围是1到16。在生成红球号码时,代码将从1到33的数字列表中随机选择6个数字,并按升序排列。然后,它将随机生成1个1到16之间的数字作为蓝球号码。最后,代码将输出生成的号码。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)