js快速排序方法

function quickSort(arr){

  if(arr.length<=1){

    return arr;

  }

  var arrIndex=Math.floor(arr.length/2);

  var x=arr.splice(arrIndex,1)[0];

  var left=[];

  var right=[];

  for(var i=0;i<arr.length;i++){

    if(arr[i]<x){

      left.push(arr[i]);
    }

    else{

      right.push(arr[i]);

    }

  }

return quickSort(left).concat([x],quickSort(right));

}

思想:从数列中挑出一个元素,称为基准;

    重新排序数列,所有小于基准的放在左边,所有大于基准的放在右边,这个分区结束之后该基准处于数列的中间位置,

    递归操作

时间: 2024-08-02 02:56:31

js快速排序方法的相关文章

盈创动力之 JS校验方法

var IS_NULL = 128; // 10000000var IS_FULL = 64; // 01000000var IS_HALF = 32; // 00100000var IS_ASCII = 16; // 00010000var IS_NUM = 8; // 00001000var IS_DATE = 4; // 00000100var IS_PHONE = 2; // 00000010var IS_EMAIL = 1; // 00000001var IS_NOT_NULL = 0

Js apply 方法 具体解释

Js apply方法具体解释 我在一開始看到javascript的函数apply和call时,很的模糊,看也看不懂,近期在网上看到一些文章对apply方法和call的一些演示样例,总算是看的有点眉目了,在这里我做例如以下笔记,希望和大家分享..  如有什么不正确的或者说法不明白的地方希望读者多多提一些意见,以便共同提高.. 主要我是要解决一下几个问题: 1.        apply和call的差别在哪里 2.        什么情况下用apply,什么情况下用call 3.        ap

调用JS的方法

触发javascript写的方法: 1.在button的click直接写JS语句调用 <button type="button" onclick="alert('Welcome!')">点击这里</button> 2.在button的click绑定js方法,点击时会调用 <script> function myFunction() { x=document.getElementById("demo"); //

JS replace()方法-字符串首字母大写

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. replace()方法有两个参数,第一个参数是正则表达式,正则表达式如果带全局标志/g,则是代表替换所有匹配的字符串,否则是只替换第一个匹配串.第二个参数可以是字符串,也可以是函数.$1.$2...表示与正则表达式匹配的文本. There are many ways we can make a difference. Global change starts with you. Sign up f

js通用方法检测浏览器是否已安装指定插件(IE与非IE通用)

/* * 检测是否已安装指定插件 * * pluginName 插件名称 */ function checkPlugins(pluginName) { var np = navigator.plugins; if (window.ActiveXObject) { // IE // ActiveXObject的对象名 var activexObjectName = pluginName + "." + pluginName; try { var axobj = eval("ne

JS前后台方法的相互调用

一.前台调用后台的方法: 1.在后台编写你要调用到前台的方法,如下://javaScript函数中执行C#代码中的函数public string str() { return "javaScript方法中执行C#代码中的方法"; } 2.前台用JS就可以实现调用后台的方法,如下:<script type="text/javascript"> function Test() { var a = "<%=str()%>"; /

js调用php和php调用js的方法举例

js调用php和php调用js的方法举例1 JS方式调用PHP文件并取得php中的值 举一个简单的例子来说明: 如在页面a.html中用下面这句调用: <script type="text/javascript" src="b.php?action=test"></script> <script type="text/javascript" > alert(jstext); </script> 在b

JS扩展方法

JS扩展方法与C#的扩展方法非常相似,也是可以链式调用的,也是通过对某个类的扩展写法来实现.这个东西非常好用,如果将预先写好的方法放到一个js里面引用的话,那么后面写js将非常有趣. 下面给出一个例子: <head> <title>测试JS扩展方法</title> <script type="text/javascript"> // 合并多个空白为一个空白 String.prototype.ResetBlank = function()

js一些方法的扩展

1 //JS扩展方法与C#的扩展方法非常相似,也是可以链式调用的,也是通过对某个类的扩展写法来实现.这个东西非常好用,如果将预先写好的方法放到一个js里面引用的话,那么后面写js将非常有趣. 2 3 //下面给出一个例子: 4 5 6 // <head> 7 // <title>测试JS扩展方法</title> 8 // <script type="text/javascript"> 9 // // 合并多个空白为一个空白 10 // S