冒泡排序
<script>
var arr = [3, 2, 0, 1, 7, 5, 4, 6, 9, 8];
function maopao(array) {
if (array.length == 1) {
return array;
}
var temp;
for (var i = 0; i < array.length - 1; i++) {
for (var k = 0; k < array.length - i - 1; k++) {
if (array[k] < array[k + 1]) {
temp = array[k];
array[k] = array[k + 1];
array[k + 1] = temp;
}
}
}
return array;
}
console.time();
console.log(maopao(arr));
console.timeEnd();
</script>
快速排序:
<script>
var arr = [3, 2, 0, 1, 7, 5, 4, 6, 9, 8];
function quickSort(array) {
if (array.length <= 1) {
return array;
}
var center = array.splice(parseInt(array.length / 2), 1);
var left = []; //相对于中间值 左边放 右边放
var right = [];
for (var i = 0; i < array.length; i++) {
if (array[i] < center) {
left.push(array[i]);
}
else {
right.push(array[i]);
}
}
return quickSort(left).concat(center).concat(quickSort(right));
}
console.time();
console.log(quickSort(arr));
console.timeEnd();
</script>
选择排序:
<script>
var arr = [3, 2, 0, 1, 7, 5, 4, 6, 9, 8];
function selectSort(array){
if(array.length<=1)
{
return array;
}
//默认一个值 数组里面第一个
for(var i=0;i<array.length;i++)
{
var temp;
for(var k=i+1;k<array.length;k++)
{
if(array[k]>array[i])
{
temp=array[i];
array[i]=array[k];
array[k]=temp;
}
}
}
return array;
}
console.time();
console.log(selectSort(arr));
console.timeEnd();
</script>