快速排序-JS代码实现
来源:互联网 发布:美工外包风险 编辑:程序博客网 时间:2024/06/05 22:57
快速排序算法思想:取出数组的第一个值和最后一个值的下标,并设指针i,j分别指向两头,以第一个值为标准并取出赋给temp,只要i<j,即分别从两侧开始的指针不指向同一个位置时,从后往前检查将遇到的第一个小于标准值的数值赋给array[i],i++,再从前往后检查将遇到的第一个大于标准值的数值赋给array[j],j--,最后将temp赋给指针i所指向的对象。然后,用递归分别对array[i]两边的数组对象所组成的数组进行快速排序。
实际上,每一次快速排序是将所排序数组的第一个值放在其应在的位置,并保证其左侧的值都小于它,右侧的值都大于它。
<!DOCTYPE html><html><head> <title>快速排序-JS代码实现</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"></head><body onload="init()"> <script> function init(){ function quickSort(array, left, right){ var i=left, j=right, temp; if(left < right){ temp = array[left]; while(i!=j){ while(j>i && array[j]>temp) j--; if(i<j){ array[i]=array[j]; i++; } while(j>i && array[i]<temp) i++; if(i<j){ array[j]=array[i]; j--; } } array[i] = temp; document.write(array + "<br/>"); quickSort(array, left, i-1); quickSort(array, i+1, right); } } var arrayA = [3, 5, 2, 6, 4, 1]; document.write("原始数组:" + arrayA + "<br/><br/>"); quickSort(arrayA, 0, arrayA.length - 1); } </script></body></html>
0 0
- 快速排序-JS代码实现
- JS实现快速排序
- js实现快速排序
- JS实现快速排序
- JS实现快速排序
- js实现快速排序
- JS 实现快速排序
- JS实现快速排序
- JS实现快速排序
- Js实现快速排序
- js实现快速排序
- 快速排序 代码实现
- 快速排序代码实现
- 快速排序代码实现
- 快速排序代码实现
- 快速排序实现代码
- 快速排序代码实现
- 【算法】快速排序【JS实现】
- linux的进程调度原理
- jsp 实现分页操作
- 求1+2+3+n后的结果
- Counter统计每个字符出现的次数
- ASC||文件和二进制文件的区别
- 快速排序-JS代码实现
- 学习笔记——override
- Q24:二叉搜索树的后序遍历序列
- 使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程
- 笔记本维修介绍
- Android Drawable Importer的使用
- java之jce
- 第12周 数据结构和算法 线性表-8 单链表的定义及初始化
- 第三方分享与登录