js中sort()方法冒泡排序模拟
2024-10-11 09:40:47
1.sort()方法概述
sort() 方法用于对数组的元素进行排序。
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,
首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。
比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
Array.prototype.bubbleSort = function(fun){
for(var i = 0; i < this.length - 1; i++){//趟数
var flag = true;
for(var j = 0; j < this.length - i - 1 ; j++){//每趟比较之后会得出一个最大值沉底
if(typeof fun == "function"){
if(fun(this[j], this[j+1])>0){
//交换
flag = false;
var temp;
temp = this[j];
this[j] = this[j+1];
this[j+1] = temp;
}
}else{
if(this[j] > this[j+1]){
//交换
flag = false;
var temp;
temp = this[j];
this[j] = this[j+1];
this[j+1] = temp;
}
}
}
if(flag == true){
break;
}
}
return this;
}
var arr3 = arr.bubbleSort(function(a,b){
return b-a;
});
console.log(arr3);
最新文章
- springboot(九):定时任务
- windows下mysqlbinlog二进制恢复
- Arnold AtArray API Test
- AC日记——组合数问题 落谷 P2822 noip2016day2T1
- jQuery学习笔记——弹出对话框
- QQ右下角图标不见了
- SoapUI中如何传递cookie
- wpf+xml实现的一个随机生成早晚餐的小demo
- Ruby on Rails创始人DHH谈如何进行混合移动APP开发
- 用BroadcastReceiver监听网络状态的变化
- android shape总结 和控制的风格定制
- spring原理案例-基本项目搭建 02 spring jar包详解 spring jar包的用途
- Java多线程之三volatile与等待通知机制示例
- FTP服务-filezilla server 配置
- git在工作中的用法总结-环境安装篇
- 给Linux系统管理员准备的Nmap命令的29个实用范例
- 爬虫----爬虫请求库selenium
- 图书管理(Loj0034)+浅谈哈希表
- Python cv2 OpenCV 中传统图片格式与 base64 转换
- asp.net query string 及 form data 遇到的编码问题