排序

今天我们来一波排序

一.冒泡排序

冒泡排序指在一堆大小不一的数中,对这些不同的值进行排序所用的一种方法,相邻两个数之间相互比较,如果前一个数与后一个数相比,前一个数比后一个数大,则位置不变;反之,前一个数比后一个数小,两个数交换位置,数的大小就像鱼儿吐的泡泡一样,大的在不断向上冒,小的在最下方.

function sort(elements) {
    		//外层循环控制轮
    		for(var i=0;i<elements.length-1;i++){
    			//内层循环比较两个数的大小
    			for(var j=0;j<elements.length-1-i;j++){
    				if(elements[j]>elements[j+1]){

    					var linshi=elements[j];
    					elements[j]=elements[j+1];
    					elements[j+1]=linshi;
    				}
    			}
    		}
    	}
    	var elements=[50,32,68,11,55,9];
    	console.log(elements);
    	sort(elements);
    	console.log(elements);

二.选择排序

function selectSort(arr){
    		//外层循环控制选择数下标
    		var minIndex,temp;
    		//minIndex下标   temp临时参数
    		for(var i=0;i<arr.length-1;i++){
    			minIndex=i;//每一趟都将本趟循环的第一个数字看成最小,记录下标
    			for(var j=i+1;j<arr.length;j++){
    				if(arr[j]<arr[minIndex]){
    					minIndex=j;//记录最小数下标
    				}
    			}
    			temp=arr[i];
    			arr[i]=arr[minIndex];
    			arr[minIndex]=temp;
    		}
    		return arr;
    	}
    	var arr1=[50,32,68,11,55,9];
    	var jieguo=selectSort(arr1);
    	console.log(jieguo);

三.插入排序

//将所排数组分成两部分,一部分是有序的,一部分是无序的,将无序的数组拿出数字进入有序数组插序
    	function insertSort(array){
    		for(var i=1;i<array.length;i++){
    			var key=array[i];
    			var j=i-1;
    			while(array[j]>key){
    				array[j+1]=array[j];
    				j--;
    			}
    			array[j+1]=key;
    		}
    		return array;
    	}
    	var array=[50,32,68,11,55,9];
    	var results=insertSort(array);
    	console.log(results);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值