排序

冒泡排序

var arr = [33, 22, 66, 99, 55]
for (var i = 0; i < arr.length - 1; i++) {
	for (var j = 0; j < arr.length - 1 - i; j++) {
		if (arr[j] > arr[j+1]) {
			var temp = arr[j]
			arr[j] = arr[j+1]
			arr[j+1] = temp;
		}
	}
}

选择排序

var arr = [33, 22, 66, 99, 55]
for (var i = 0; i < arr.length - 1; i++) {
	var winI = i;
	for (var j = i + 1; j < arr.length; j++) {
		if (arr[j] < arr[winI]) {
			winI = j;
		}
	}
	if (winI != i) {
		var temp = arr[i]
		arr[i] = arr[winI]
		arr[winI] = temp
	}
}

快速排序

var arr = [33, 22, 66, 99, 55]
function quick(arr) {
    if (arr.length < 2) {
        return arr
    }
    var midI = parseInt(arr.length / 2)
    var mid = arr.splice(midI, 1)[0]
    var left = [], right = []
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] < mid) {
            left.push(arr[i])
        }else {
            right.push(arr[i])
        }
    }
    return quick(left).concat(mid, quick(right))
}

posted @ 2022-06-17 13:46  捧鱼咽  阅读(26)  评论(0)    收藏  举报