JavaScript(13)——练习、冒泡排序

1. 求一个数组中的最大值。定义成函数。

2. 将一个字符串数组输出为|分割的形式,比如“梅西|卡卡|郑大世”。不要使用JavaScript中的Join函数。arr1.join("|")将数组用分隔符连接成一个字符串

3. 将一个字符串数组的元素的顺序进行反转。{"3","a","8","haha"} {"haha","8","a","3"}。不要使用JavaScript中的反转函数。提示:第i个和第length-i-1个进行交换。定义成函数。myreverse 。

4. 交换两个变量,数组同样是传递引用

5.冒泡排序:

冒泡排序: 4,5,7,3,8,5

解决思路顺口溜:N个数来排序,外层循环N-1次,内层循环N-1-i次。其中的i是外层循环的循环变量。

以升序排序为例:

  • 第一个跟第二个比,若第一个大则交换,否则不交换;
  • 第二个跟第三个比,若第二个大则交换,否则不交换;
  • 第三个跟第四个比,若第三个大则交换,否则不交换;
  • ……
  1. 外层循环第一轮循环后确定出第一大的;
  2. 外层循环第二轮循环后确定出第二大的;
  3. 外层循环第二轮循环后确定出第三大的;
  4. ……

例子:对4,5,7,3,8,5进行升序排序。

        var arr = [4, 5, 7, 3, 8, 5];
        alert(arr);  //输出原数列
        sort(arr);   //调用冒泡排序方法
        alert(arr);  //输出排序后的数列
        function sort(arr) {
            for (var i = 0; i < arr.length - 1; i++) {
                for (var j = 0; j < arr.length - 1-i; j++) {
                    if (arr[j] > arr[j + 1]) {  //if (arr[j] < arr[j + 1])  //降序排序只需把这里的>改成<就可以了
                        var tmp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = tmp;
                    }
                }
            }
        }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值