Java教程

数组相关算法

本文主要是介绍数组相关算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

快排排序:找到一个数,数组通过这个数的大小去分左右两边,递归

function quickSort(arr) {
	var len = arr.length
	if(len <= 1) return arr
	var temp = arr[0]
	var left = []
	var right = []
	for(var i = 0; i < len; i++){
		if(compare(temp, arr[i])){ // compare比较
			left.push(arr[i])
		}else{
			right.push(arr[i])
		}
	}
	return quickSort(left).concat(temp, quickSork(right))
}

冒泡排序

function bubbleSort(arr) {
	var len = arr.length
	var temp
	if(len <= 1) return arr
	for(var i = 0; i < len; i++){
		for(var j = len - 1; j >= i; j--){
			if(compare(arr[i], arr[j])){
				temp = arr[j]
				arr[j] = arr[j - 1]
				arr[j - 1] = temp
			}
		}
	}
	return arr
}
这篇关于数组相关算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!