javascript - 冒泡排序遇到了点问题,求指点
PHPz
PHPz 2017-04-10 16:37:32
[JavaScript讨论组]

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

PHPz
PHPz

学习是最好的投资!

全部回复(1)
高洛峰

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

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;
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号