本文给出了一个基于JavaScript的快速排序的例子。分享给大家参考,如下:
首先要引入气泡排序。气泡排序的过程非常简单。首先,将第一条记录的关键字与第二条记录的关键字进行比较。如果是倒序,交换两个关键词,然后比较第二个和第三个,直到最后一个比较完成。这是第一个气泡,因此,关键字最大的记录被放在最后一个位置。然后,第二次冒泡序列之前的n-1个元素,选择倒数第二个元素。以此类推,直到全部选中,冒泡结束。
通过分析,可以得出气泡排序的时间复杂度为O(n2)。
快速排序是对冒泡排序的改进。它是处理大型数据集的最快排序方法之一。它通过递归将数据分解成包含较小元素和较大元素的不同子序列,并重复这个过程,直到所有数据都被排序。首先,该算法应该选择一个参考值并围绕该参考值进行。
例子如下:
算法思路如下:
选择一个引用元素,将列表分成两个子序列;
对列表进行重新排序,将所有小于基准元素的元素放在前面,大的放在后面;
对较小元素的子序列和较大元素的子序列分别重复上述两个步骤。
我们通过js实现代码如下:
!doctype html lang=' en ' head metacarset=' utf-8 ' title JAVAScript快速排序/title/head dyscript type=' text/JAVAScript '函数qsort(nums){//快速排序if(nums . length==0){ return[];} var lesser=[];var大于=[];var pivot=nums[0];//选择(var I=1;分钟长度;I ){ if(nums[i]pivot){//分成两个序列less . push(nums[I]);} else { greater . push(nums[I]);} }返回qSort(较小)。concat(pivot,qSort(更大));//递归}函数show(nums){//显示数组for(var I=0;分钟长度;I){ document . write(nums[I]' ');} document . write(' br ');} var nums=[68,80,12,80,95,70,79,27,88,93];show(nums);//new nums var new nums=qSort(nums);//希尔排序显示(NewNums);//0 02 3 4 5 6 8 9/script/body/html就平均时间而言,快速排序被认为是目前最好的内部排序方法。快速排序非常适合大数据集,但处理小数据集时性能会下降。其时间复杂度为O(nlog2n)
更多对JavaScript相关内容感兴趣的读者可以查看本网站专题:《JavaScript数据结构与算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、0103010。
希望本文对JavaScript编程有所帮助。