JS 排序-冒泡排序,选择排序

冒泡排序从第一个元素开始,对数组中两两相邻的元素比较,将值较小的元素放在前面,值较大的元素放在后面,一轮比较完毕,一个最大的数沉底成为数组中的最后一个元素,一些较小的数如同气泡一样上浮一个位置。n个数,经过n-1轮比较后完成排序。

function bubbleSort(arr){
	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;
			}
		}
	}
	return arr;
}

选择排序每次遍历确定一个最小值,第几次遍历就把这个最小值放在数组的第几个位置 然后从后面的元素再次获得最小值,在放到数组前端, 重复上两个步骤,知道遍历到数组的最后一个元素 有多少个元素,就要遍历多少次
            

function selectSort(arr){
    for(var i = 0;i < arr.length -1 ;i++){//轮数
         var minIndex = i;                    //假定第一个数为最小值
         for( var j = i+1; j<arr.length;j++){//比较次数
             if(arr[minIndex]>arr[j]){
                 minIndex = j;
             }
         
         var temp = arr[i];
         arr[i] = arr[minIndex];
         arr[minIndex] = temp;
     }
     return arr;
}

猜你喜欢

转载自blog.csdn.net/weixin_42217154/article/details/84958326