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	 
    		}
    	}
    }
    

      

      

  • 相关阅读:
    c语言cgi笔记
    End of script output before headers错误解决方法
    我的树莓派3配置脚本
    Qt学习(4)
    Qt学习(3)
    Qt学习(2)
    Qt学习(1)
    C++ Primer中文版(第五版)——第六章 函数
    C++ 11 ----Lambda表达式
    Java SPI 源码解析
  • 原文地址:https://www.cnblogs.com/bobo1/p/12499745.html
Copyright © 2011-2022 走看看