JavaScript实现快速排序的方法_javascript技巧

本文实例讲述了JavaScript实现快速排序的方法。分享给大家供大家参考。具体实现方法如下:

<html>
<head>
<script>
 function quickSort(input) {
  if (input.length <= 1) return input;
  var pivot = Math.floor(Math.random()*input.length)
  var less = [], greater=[];
  var pivotElem = input.splice(pivot,1)
  for (x in input) {
   if (input[x] <= pivotElem[0])
    less.push(input[x])
   else
    greater.push(input[x])
  }
  return [].concat(quickSort(less),pivotElem,quickSort(greater));
 }
 input = []
 inputSize = 1000
  highestInputValue = 100
 for (i=0;i<inputSize;i++) {
  input.push(Math.floor(Math.random()*highestInputValue))
 }
 document.writeln(quickSort(input))
</script>
</head>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索javascript
快速排序
javascript快速排序、快速排序非递归实现、java实现快速排序、java实现快速排序算法、快速排序算法实现代码,以便于您获取更多的相关知识。

时间: 2024-08-02 00:59:03

JavaScript实现快速排序的方法_javascript技巧的相关文章

浅谈html转义及防止javascript注入攻击的方法_javascript技巧

有的时候页面中会有一个输入框,用户输入内容后会显示在页面中,类似于网页聊天应用.如果用户输入了一段js脚本,比例:<script>alert('test');</script>,页面会弹出一个对话框,或者输入的脚本中有改变页面js变量的代码则会时程序异常或者达到跳过某种验证的目的.那如何防止这种恶意的js脚本攻击呢?通过html转义能解决这个问题. 一:什么是html转义? html转义是将特殊字符或html标签转换为与之对应的字符.如:< 会转义为 <> 或转义

常见的javascript跨域通信方法_javascript技巧

本文主要介绍几种常见的javascript跨域通信方法.首先讲解一下JSONP.1.JSONP JSONP(JSON with Padding)是JSON的一种"使用模式",可用于解决主流浏览器的跨域数据访问的问题.由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,而 HTML 的<script> 元素是一个例外.利用 <script> 元素的这个开放策略,网页可以得到从其他

javascript 伪数组实现方法_javascript技巧

这篇文章来回答javascript通用循环遍历方法forEach中最后提到的关于伪数组的问题. 什么是伪数组 能通过Array.prototype.slice转换为真正的数组的带有length属性的对象. 这种对象有很多,比较特别的是arguments对象,还有像调用getElementsByTagName,document.childNodes之类的,它们都返回NodeList对象都属于伪数组. 我们可以通过Array.prototype.slice.call(fakeArray)将伪数组转变

JavaScript截断字符串的方法_javascript技巧

本文实例讲述了JavaScript截断字符串的方法.分享给大家供大家参考.具体如下: 这里JavaScript截断字符串,类似于substr(),只不过这个函数不会截断单词,在发生截断后,会添加一个省略号 if (!function_exists('subsent')) { function subsent($string, $start = 0, $length = 0, $cap = '...') { if ($length <= 0 || strlen($string) < $lengt

JavaScript替换当前页面的方法_javascript技巧

本文实例讲述了JavaScript替换当前页面的方法.分享给大家供大家参考.具体如下: 下面的JS代码可以替换当前页面为指定的URL <!DOCTYPE html> <html> <head> <script> function replaceDoc() { window.location.replace("http://www.jb51.net") } </script> </head> <body>

Javascript 更新 JavaScript 数组的 uniq 方法_javascript技巧

上次写的一篇<JavaScript 数组的 uniq 方法>,发现代码的问题还是存在.比如如果数组内有 undefined 元素就无法过滤等. 昨天看见 Lazy 兄弟重新更新了函数,现在他是这样子写的: Array.prototype.uniq = function() {     var resultArr = [],         returnArr = [],         origLen = this.length,         resultLen;     function

javascript背景时钟实现方法_javascript技巧

本文实例讲述了javascript背景时钟实现方法.分享给大家供大家参考.具体如下: 以下是这个效果的全部代码.[最好从一个空页面开始] <html> <head> <TITLE>背景时钟</TITLE> <script language=javaScript> <!--// function clockon() { thistime= new Date() var hours=thistime.getHours() var minutes

javascript封装简单实现方法_javascript技巧

本文实例讲述了javascript封装简单实现方法.分享给大家供大家参考.具体如下: var Person = function(name, gender, age) { this.Name = name; this.Gender = gender; this.Age = age; this.SetName = function(sname) { this.Name = sname; } this.GetName = function() { return this.Name; } this.S

javascript笛卡尔积算法实现方法_javascript技巧

本文实例讲述了javascript笛卡尔积算法实现方法.分享给大家供大家参考.具体分析如下: 这里可根据给的对象或者数组生成笛卡尔积 //笛卡儿积组合 function descartes(list) { //parent上一级索引;count指针计数 var point = {}; var result = []; var pIndex = null; var tempCount = 0; var temp = []; //根据参数列生成指针对象 for(var index in list)