zoukankan      html  css  js  c++  java
  • 选择排序(JS代码)

    首先n=1,数组长度length

    1.先用第n个元素和数组所有元素进行比较,找到数组中最小的那个元素

    2.将它和数组的第n个元素交换位置

    3.然后n++,重复1,2操作,直到n=length结束

    // 选择排序
    Array.prototype.selectSort = function () {
    	let len = this.length
    	for (let j=0; j<len; j++) {
    		for (let i=j+1; i<len; i++) {
    			// 这里进行比较把最小的元素放在前面
    			if (this[j] > this[i]) {
    				let keynum = this[i]
    				this[i] = this[j]
    				this[j] = keynum
    			}
    		}
    	}
    }
    let arr = [2,9,5,7,1,1,6,3,3,4]
    console.log("原来:", arr.toString())
    // 原来: 2,9,5,7,1,1,6,3,3,4
    arr.selectSort()
    console.log("排序后:", arr.toString())
    // 排序后: 1,1,2,3,3,4,5,6,7,9
    

      优化一下

    Array.prototype.selectSort2 = function () {
    	let len = this.length
    	for (let j=0; j<len; j++) {
            let min = j
    		for (let i=j+1; i<len; i++) {
    			// 这里记录最小的元素的下标
    			if (this[min] > this[i]) {
    				min = i;
    			}
    		}
    		if (min !== j) { //把最小的元素换到前面
    			let keynum = this[min]
    			this[min] = this[j]
    			this[j] = keynum	 
    		}
    	}
    }
    

      

      

  • 相关阅读:
    JAVA 打开文件乱码
    单引号和双引号的区别
    global和$GLOBALS[]的区别
    php统计数组元素个数
    PHP5.3x不再支持ereg和eregi
    discuz论坛diy标签
    网页特效过渡功能
    discuz缓存机制
    php数组中删除元素
    speedphp是个不错的框架
  • 原文地址:https://www.cnblogs.com/bobo1/p/12499745.html
Copyright © 2011-2022 走看看