当前位置: 代码迷 >> 综合 >> JavaScript(13)——练习、冒泡排序
  详细解决方案

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

热度:46   发布时间:2023-10-01 23:06:00.0

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

 

  相关解决方案