@javaScript 实现冒泡排序与快速排序
下面代码是否正确?有没有大神帮忙看下,谢谢!
<script>
var arr = [6,3,7,5,9,1,0,-1,10];
//冒泡排序
function bubble (arr) {
for(var i=0;i<arr.length;i++){
let change = false;
for(var j=arr.length-1;j>i;j--){
if(arr[j]<arr[j-1]){
var a = arr[j];
arr[j] = arr[j-1];
arr[j-1] = a;
change = true;
}
}
if(!change){
break;
}
}
return arr;
}
console.log(bubble(arr));
//快速排序
function quickSort(arr) {
var s=0,t=arr.length-1;
function firstQuick(arr,s,t){
var i=s,j=t;
var tmp = arr[i];
while(i<j){
while(i<j && arr[j] >= tmp){
j--;
}
arr[i] = arr[j];
while(i<j && arr[i] <= tmp){
i++;
}
arr[j] = arr[i];
}
arr[i] =tmp;
return i;
}
function partSort(arr,s,t){
if(s<t){
let i= firstQuick(arr,s,t);
partSort(arr,s,i-1);
partSort(arr,i+1,t);
}
}
partSort(arr, s, t);
return arr;
}
console.log(quickSort(arr));
</script>