Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;选择排序“;使用javascript?_Javascript_Html_Sorting - Fatal编程技术网

&引用;选择排序“;使用javascript?

&引用;选择排序“;使用javascript?,javascript,html,sorting,Javascript,Html,Sorting,如何获取数组中最小元素的位置,并使用javascript将该值与相邻值交换以进行“选择排序” 我的HTML是 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>

如何获取数组中最小元素的位置,并使用javascript将该值与相邻值交换以进行“选择排序”

我的HTML是

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <script type="text/javascript" src="js/script.js"></script>
    <script src="js/jquery-latest.min.js"></script>
    <link type="text/css" href="style.css" rel="stylesheet" />
</head>

<body>
    <form onsubmit="store(this); return false">
        1:<input type="text" id="one" /><br />
        2:<input type="text" id="two" /><br />
        3:<input type="text" id="three" /><br />
        4:<input type="text" id="four" /><br />
        5:<input type="text" id="five" /><br />
        6:<input type="text" id="six" /><br />
        <input type="button" value="Click Me" onclick="getInput(); output();" />
    </form><br />
    <p id="in">Input</p><br />
    <div id="qstnDiv"></div><br />
    <p id="out">Output</p><br />
    <div id="anwrDiv"></div>

</body>
</html>

我想使用选择排序对文本框中的数字进行排序,因此请帮助我

这有一个特定的功能

myArray.sort(function(a,b){return b-a});
这是提升。如果你改变“a”和“b”的顺序,它就变成了discoming。 如果需要访问对象,则必须写入

myArray.sort(function(a,b){return b.propertyName-a.propertyName});

非常明确的选择排序

function selectionSort(arr){
    for (let i = 0; i < arr.length; i++){
        let indexOfMin = i // set index of min to the 
        let j = i // set the index to run the while loop for calculating min
        let min = arr[i] // set the initial value of minimum

        // find the minimum from i to end of array
        while (j < arr.length){
            if (arr[j] < min){
                min = arr[j]
                indexOfMin = j
            }
            j++
        }

        if (indexOfMin !== i){ // only swap if the index of minimum and curr item is different
            let tmp = arr[i]
            arr[i] = arr[indexOfMin]
            arr[indexOfMin] = tmp
            console.log(arr)
        }
    }
    return arr
}

sortedList = selectionSort([5,3,4,1,-3,2])
功能选择排序(arr){
for(设i=0;i
为什么需要选择排序?Javascript已经提供了一个足够简单的
.sort()
功能,实际上我想一步一步地完成排序功能,这就是为什么。。。请帮我找到解决方案。你能给我发送选择排序的Javascript代码吗?bhb链接了一个选择排序的伪代码,现在用JS重写它应该不是很难。
function selectionSort(arr){
    for (let i = 0; i < arr.length; i++){
        let indexOfMin = i // set index of min to the 
        let j = i // set the index to run the while loop for calculating min
        let min = arr[i] // set the initial value of minimum

        // find the minimum from i to end of array
        while (j < arr.length){
            if (arr[j] < min){
                min = arr[j]
                indexOfMin = j
            }
            j++
        }

        if (indexOfMin !== i){ // only swap if the index of minimum and curr item is different
            let tmp = arr[i]
            arr[i] = arr[indexOfMin]
            arr[indexOfMin] = tmp
            console.log(arr)
        }
    }
    return arr
}

sortedList = selectionSort([5,3,4,1,-3,2])