方法一.冒泡排序

思路:依次比较数组中的第一个元素和第二个元素,如果第一个元素大于第二个元素,则交换位置,所以需要两个函数:交换位置函数和比较函数

比较轮数为数组长度

var arr=[2,58,49,26,34];
function change(f,s){
	var temp=arr[f];
	arr[f]=arr[s];
	arr[s]=temp;
}
for(var i=0;i<arr.length;i++){
	for(var j=0;j<arr.length-1;j++){
		if(arr[j]>arr[j+1]){
			change(j,+j+1);
		}
	}
	
}
alert(arr);

 方法二.选择排序

从数组中找到最小值,扔到数组第一位,然后从剩下数组中循环操作

var arr=[2,58,49,26,34];
function change(){
	if(arr.length==1){
		return arr;
	}
	var iMin=arr[0];
	var index=0;
	for(var i=0;i<arr.length;i++){
		if(arr[i]<iMin){
			iMin=arr[i];
			index=i;
		}
	}
	var prev=arr.splice(index,1);
	return prev.concat(change(arr)); 
	
}
alert(change(arr));

 

posted on 2015-01-25 14:24  鬼畜十三  阅读(162)  评论(0编辑  收藏  举报