【Javascript】实现快速,选择,冒泡,插入排序
来源:互联网 发布:大数据预测股票 编辑:程序博客网 时间:2024/05/16 09:07
最近整理了一下常用的排序算法,以备不时之需,仅供参考。
<!DOCTYPE html><html><head> <title>排序</title></head><body><script>/*快速排序--递归实现,选取第一个元素为枢轴,比它晓得放到左边数组,比他大的放到右边数组*//*var quick_sort = function(arr){ if(arr.length<=1){ return arr; } var left_arr = []; var right_arr = []; var temp = arr[0]; for(var i=1; i<arr.length; i++){ if (arr[i]>=temp) { right_arr.push(arr[i]); } else { left_arr.push(arr[i]); } } return quick_sort(left_arr).concat([temp], quick_sort(right_arr));}var arr2 = [2,1,4,6,5];console.log(quick_sort(arr2));*//*冒泡排序--每趟不断将记录两两比较,并按“前小后大”(或“前大后小”)规则交换*//*var bubble_sort = function(arr){ for(var i=0; i<arr.length; i++){ var flag = true; for(var j=0; j<arr.length-1; j++){ if(arr[j+1] < arr[j]) { var temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; flag = false; } } if(flag){ break; } } return arr;}var arr2 = [2,1,4,6,5];console.log(bubble_sort(arr2));*//*插入排序--边插入边排序,保证子序列中随时都是排好序的*//*var insert_sort = function(arr){ for(var i=1;i<arr.length; i++){ var temp = arr[i]; for(var j=i-1; j>=0; j--){ if(temp < arr[j]){ arr[j+1] = arr[j]; arr[j] = temp; }else{ break; } } } return arr;}var arr2 = [2,1,4,6,5];console.log(insert_sort(arr2));*//*选择排序--每次都找到一个最小的值和前面的交换*/var selec_sort = function(arr){ var min,temp; for(var i=0; i<arr.length-1; i++){ min = i; for(var j=i+1; j<arr.length; j++){ if(arr[j]<arr[min]){ min = j; } } temp = arr[min]; arr[min] = arr[i]; arr[i] = temp; } return arr;}var arr2 = [2,1,4,6,5];console.log(selec_sort(arr2));</script></body></html>
1 0
- 【Javascript】实现快速,选择,冒泡,插入排序
- c++实现冒泡,选择,插入,快速排序
- java实现冒泡,选择,插入,快速排序
- 选择排序&插入排序&冒泡排序&快速排序算法实现
- java实现冒泡排序,插入排序,选择排序,快速排序
- python 实现插入排序,冒泡排序,快速排序,选择排序
- 冒泡、插入、选择、快速排序
- 冒泡,快速,选择,插入排序
- 排序------快速,插入,选择,冒泡
- 插入排序 冒泡 选择 快速
- 冒泡、快速、选择、插入、排序
- JavaScript实现冒泡排序、快速排序、插入排序
- PHP 实现插入、选择、冒泡、快速排序算法
- PHP实现插入、选择、冒泡、快速排序算法
- PHP实现插入、选择、冒泡、快速排序算法
- PHP实现插入、选择、冒泡、快速排序算法
- PHP实现插入、选择、冒泡、快速排序算法(转贴)
- PHP实现插入、选择、冒泡、快速排序算法
- 关于PostgreSQL数据库中的information_schema
- 线程管理之pthread_equal
- 影像平滑(blur、GaussianBlur)
- (22)Air Band OpenCV2.4.13_图像金字塔
- Html5 基础----列表详述
- 【Javascript】实现快速,选择,冒泡,插入排序
- 常见的 POST 提交数据方式
- try中有return语句,先执行return还是finally,执行顺序怎样的
- C#中静态与非静态方法比较
- Eclipse Android Wear 开发之环境搭建
- 第一条读书学习计划
- 使用bat 调用 SubWCRev 修改beego的app.conf版本号节点
- OpenFace做人脸识别
- Android led灯实现大致流程