js冒泡排序,快速排序,插入排序
2024-08-24 20:29:12
//冒泡排序
function sortBubble(array){
var len=array.length,i,j,tmp;
for(i=len-1;i>=1;i--){
for(j=0;j<=i-1;j++){
if(array[j]>array[j+1]){
d=array[j+1];
array[j+1]=array[j];
array[j]=d;
}
}
}
return array;
}
//快速排序
function sortQuick(array){
var low=0,high=array.length-1;
var sort=function(low,high){
if(low==high){
return;
}
var key=array[low];
var tmplow=low;
var tmphigh=high;
while(low<high){
while(low<high&&key<=array[high]){
--high;
}
array[low]=array[high];
while(low<high&&array[low]<=key)
{
++low;
}
array[high]=array[low];
if(low==tmplow){
sort(++low,tmphigh);
return;
}
};
array[low]=key;
sort(tmplow,low-1);
sort(high+1,tmphigh);
};
sort(low,high);
sort();
return array;
}
//插入排序
function sortInsert(array){
var i=1,j,len=array.length,key;
for(;i<len;i++){
j=i;
key=array[j];
while(--j>-1){
if(array[j]>key){
array[j+1]=array[j];
}
else
{
break;
}
}
array[j+1]=key;
}
return array;
}
最新文章
- Mysql数据库的使用总结之Innodb简介
- NSCache
- GMU 简单使用一
- android 单例模式
- The formatter threw an exception while trying to deserialize the message in WCF
- 终于懂了:WM_PAINT中应该用BeginPaint与EndPaint这两个api,它们的功能正是使无效区域恢复(所以WM_PAINT里即使什么都不做,也必须写上BeginPaint与EndPaint)——Delphi里WM_PAINT消息的三个走向都做到了这一点 good
- LanSoEditor_advance1.8.0 视频编辑的高级版本
- Android开发10.2:UI组件AutoCompleteTextView(自动完成文本框)
- 数据结构二叉树的所有基本功能实现。(C++版)
- go-fasthttp源码分析
- GitLab搭建详细过程
- scrapy学习笔记(1)
- TIMESTAMPDIFF用法
- 数据库分区分表(sql、mysql)
- 计算机cpu、寄存器、内存区别
- Syncfusion HTMLUI研究一
- Tomcat7启动分析(三)Digester的使用(转载)
- 503 Error: need EHLO and AUTH first
- WilliamChart各种图表效果实现大全《IT蓝豹》
- JFace TableViewer性能改善 -- 使用VirtualTable