js实现排序算法
来源:互联网 发布:淘宝怎样增加收藏 编辑:程序博客网 时间:2024/06/05 08:49
1.冒泡排序
function bubbleSort(arr){ var length = arr.length; var tempt; for(var i=0; i<length; i++){ for(var j=0; j<length-1; j++){ if(arr[j] > arr[j+1]){ tempt = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tempt; } } }}2.改进的冒泡排序
function modifiedBubbleSort(arr){ var length = arr.length; var tempt; for(var i=0; i<length; i++){ for(var j=0; j<length-1-i; j++){ if(arr[j] > arr[j+1]){ tempt = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tempt; } } }}3.选择排序
function selectSort(arr){ var length = arr.length, temptIndex,tempt; for(var i=0; i<length-1; i++){ for(var j=i; j<length; j++){ if(arr[j]<arr[temptIndex]){ temptIndex = j; } } if(i != temptIndex){ tempt = arr[i]; arr[i] = arr[temptIndex]; arr[temptIndex] = tempt; } }}4.插入排序
function insertSelect(arr){ var length = arr.length, tempt; for(var i=1; i<length; i++){ for(var j=i; j>=0; j--){ if(arr[j]<arr[j-1]){ tempt = arr[j]; arr[j] = arr[j-1]; arr[j-1] = tempt; } } }}5.归并排序
function mergeSort(){ arr = mergeSortRec(arr);}function mergeSortRec(arr){ var length = arr.length; if(length === 1){ return arr; } var mid = Math.floor(length/2), left = arr.slice(0,mid), right = arr.slice(mid,length); return merge(mergeSortRec(left),mergeSortRec(right));}function merge(left,right){ var il = 0, ir = 0, result = []; while(il < left.length && ir < right.length){ if(left[il] < right[ir]){ result.push(left[il++]); } else{ result.push(right[ir++]); } } while(il < left.length){ result.push(left[il++]); } while(ir < right.length){ result.push(right[ir++]); } return result;}6.快速排序
function quickSort(){ quick(arr,0,arr.length-1);}function quick(arr,left,right){ var index; if(arr.length > 1){ index = partition(arr,left,right); if(left < index-1){ quick(arr,left,index-1); } if(right > index){ quick(arr,index,right) } }}function partition(arr,left,right){ var pivot = arr[Math.floor((right+left)/2)], i = left, j = right; while(i <= j){ while(arr[i] < pivot){ i++; } while(arr[j] > pivot){ j--; } if(i <= j){ var tempt = arr[i]; arr[i] = arr[j]; arr[j] = tempt; i++; j--; } } return i;}
阅读全文
0 0
- 排序算法JS实现
- Js实现排序算法
- js 实现排序算法
- 排序算法 JS实现
- js实现排序算法
- js实现各种排序算法
- 【算法】快速排序【JS实现】
- 【算法】合并排序【JS实现】
- 【算法】选择排序【JS实现】
- 【算法】插入排序【JS实现】
- 经典排序算法js实现
- 【算法】冒泡排序--js实现
- 【算法】插入排序-js实现
- js实现常见排序算法
- JavaScript实现十种经典排序算法(js排序算法)
- js实现排序算法(冒泡排序,直接插入排序)
- 【算法】随机化快速排序【JS实现】
- JS的各种排序算法实现
- 当程序取代程序员写代码,会发生什么呢?
- 图像类型
- android Scorller使用记录
- HashMap源码解析——学习笔记
- 《kubernetes-1.8.0》05-node节点搭建
- js实现排序算法
- mint ui picker 设置初始值
- javaBean
- ffmpeg系列:使用C++类封装ffmpeg,封装读取视频帧功能Read()方法
- 煤球求和。
- leetcode解题方案--041--First Missing Positive
- IDEA调试
- JS当中一个变量的作用域
- 用递归反转栈(Java实现