首页 > 冒泡排序遇到了点问题,求指点

冒泡排序遇到了点问题,求指点

<!DOCUMENT>

<head>

<script>
    function s() {
        var grade_down = document.getElementById("r1");
        var ascending = document.getElementById("r2");
        var result = document.getElementById("result");
        var arr = document.getElementById("arr").value;
        var arr_1 = arr.split(" ");
        for (n = 0; n < arr_1.length; n++) {
            for (i = 0; i < arr_1.length; i++) {
                if (arr_1[i] <= arr_1[i + 1]) {
                    teamp = arr_1[i + 1];
                    arr_1[i + 1] = arr_1[i];
                    arr_1[i] = teamp;
                }
            }
        }

        if (grade_down.checked == true) {
            result.innerText = arr_1;
        } else {
            result.innerText = arr_1.reverse();
        }
    }
</script>

</head>
<html>

<body>

<input type="text" id="arr">
<input type="radio" checked="checked" name="sort" value="grade down" id="r1" />降序
<br />
<input type="radio" name="sort" value="ascending" id="r2" />升序
<br />
<p id="content" class="result">我是结果</p>
<button onclick="s()">确定</button>

</body>

</html>


你这个冒泡排序看上去不太对啊。
给你个我写的:

function bubbleSort(arr){
    var len = arr.length;
    for (var i = len-1; i >= 0; i--){
        for (var j = 0; j < i; j++){
            if (arr[j] > arr[j+1]){
                var tmp = arr[j+1];
                arr[j+1] = arr[j];
                arr[j] = tmp;
            }
        }
    }
    return arr;
}
【热门文章】
【热门文章】