js实现冒泡排序

// 冒泡排序

 var arr=[5, 12, 9, 7, 1, 55, 66, 21, 0];
//定义循环次数,之前比较出的数值,不参与下一次的比较
            for (var i = 0; i < arr.length; i++) {//控制比较的轮数
               //每一轮比较的次数元素的个数减去当前是第几轮
               for (var j = 0; j < arr.length-i-1; j++) {
               //内层循环,每次循环比较一个最大值,然后交换位置
                   if(arr[j]>arr[j+1])
                   {
                        var temp=arr[j];
                        arr[j]=arr[j+1];
                        arr[j+1]=temp;
                   }
               } 
            }
            console.log(arr);

选择排序法:通过比较首先选出最小的一个数放在第一个位置,然后在其余的数中选出次小的数放在第二个位置,以此类推直到所有的数成为有序的序列

 var arr=[5, 12, 9, 7, 1, 55, 66, 21, 0]
            //选择排序
            for (var i = 0; i < arr.length-1; i++) {//需要比较多少轮
                //每一轮的比较都是当前的值和他后面的所有元素比较
                for (var j =i+1; j < arr.length; j++) {
                   if (arr[i]>arr[j]) {
                       var temp=arr[i];
                       arr[i]=arr[j];
                       arr[j]=temp;
                   }
                }
            }
            console.log(arr);

声明在当前函数中的变量和当前函数中的形参,作用域都限制在当前函数内,当函数调用结束之后这些形参和变量会被释放。

数组是引用数据类型,函数运行的内存空间是预先分配好的,一旦被分配好内存空间就不能随意改变了

在js中把所有由单引号或者双引号括起来的都叫做字符串

js字符串

属性length:当前字符串的字符个数

charAt:访问字符串中的字符

ECMAScript中的字符串是不可改变的,一旦创建完成他们的值就不能该改变,如果要改变某个字符串的值,就要首先销毁该字符串,然后用新的字符串填充该值

字符串的方法:

charCodeAt(下标)返回字符串中对应下标的字符的ASCII值

concat():字符串1.concat(字符串2)返回拼接的新生成的字符串

indexOf():字符串。indexOf(子串,开始查找的位置),如果在字符串中查找到子串第一次出现的位置,返回子串出现的位置,没有查找到返回-1

lastIndexOf:字符串。lastIndexOf(子串)返回子串在字符串中最后一次出现的位置,如果没有找到返回-1

search:参数可以是正则表达式,i表示忽略大小写,g表示全局

replace()方法:字符串替换:字符串。replace(匹配的字符串/正则表达式,替换成的新字符串),替换完成以后生成一个新的字符串

subString(start,end):在指定的范围内截取字符串,返回一个新的字符串,不包含end位置

split(分割符,数组的长度):字符串的分割,返回一个数组

toLowerCase():字符串转换成小写

toUpperCase():字符串转换成大写

### 回答1: JavaScript 实现冒泡排序的方法是:首先,比较相邻的元素。如果第一个比第二个大,就交换他们两个。然后,对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。然后再下一轮,重复上述过程,直到排序完成。 ### 回答2: 冒泡排序是一种简单的排序算法,它通过比较相邻的元素并交换,使得较大(或较小)的元素逐渐移动到数组的一端。 以下是使用JavaScript实现冒泡排序的代码: ```javascript function bubbleSort(arr) { // 遍历数组的长度次数,每次排序将最大的元素移动到数组的末尾 for (let i = 0; i < arr.length; i++) { // 在每次遍历时,可以优化遍历的范围,因为每次遍历后,最大的元素会被移动到数组的末尾,所以下次遍历时可以减少遍历的次数 for (let j = 0; j < arr.length - 1 - i; j++) { // 比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置 if (arr[j] > arr[j + 1]) { let temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } return arr; } // 示例 let arr = [5, 3, 8, 4, 2]; let sortedArr = bubbleSort(arr); console.log(sortedArr); // 输出 [2, 3, 4, 5, 8] ``` 以上是使用JavaScript实现冒泡排序的简单示例。冒泡排序的时间复杂度为O(n^2),在实际应用中不适合用于大规模数据的排序,但可以用于小规模数据或已经基本有序的数据的排序。 ### 回答3: 冒泡排序是一种简单但效率较低的排序算法,可以使用JavaScript来实现。下面是使用JavaScript实现冒泡排序的代码: ```javascript function bubbleSort(arr) { var len = arr.length; for (var i = 0; i < len - 1; i++) { for (var j = 0; j < len - 1 - i; j++) { if (arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } return arr; } var array = [5, 3, 8, 4, 2]; console.log(bubbleSort(array)); // 输出 [2, 3, 4, 5, 8] ``` 以上代码定义了一个`bubbleSort`函数,它接受一个数组作为参数,并使用冒泡排序算法对数组进行排序。在内部的两个嵌套循环中,比较相邻元素的大小,如果前一个元素大于后一个元素,则交换它们的位置。重复执行这个过程,直到整个数组排序完成。 在上述的例子中,数组`[5, 3, 8, 4, 2]`经过冒泡排序后会变成`[2, 3, 4, 5, 8]`,并通过`console.log()`函数输出到控制台上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值