JavaScript排序算法
1、插入排序->直接插入法排序
function InsertSort(arr) { //插入排序->直接插入法排序
var st = new Date();
var temp, j;
for(var i=1; i<arr.length; i++) {
if((arr[i]) < (arr[i-1])) {
temp = arr[i];
j = i-1;
do {
arr[j+1] = arr[j];
j--;
}
while (j>-1 && (temp) < (arr[j]));
arr[j+1] = temp;
}//endif
}
status = (new Date() - st) + ' ms';
return arr;
}
2、插入排序->希儿排序
function ShellSort(arr) { //插入排序->希儿排序
var st = new Date();
var increment = arr.length;
do {
increment = (increment/3|0) + 1;
arr = ShellPass(arr, increment);
}
while (increment > 1)
status = (new Date() - st) + ' ms';
return arr;
}
3、希儿排序分段执行函数
function ShellPass(arr, d) { //希儿排序分段执行函数
var temp, j;
for(var i=d; i<arr.length; i++) {
if((arr[i]) < (arr[i-d])) {
temp = arr[i]; j = i-d;
do {
arr[j+d] = arr[j];
j = j-d;
}
while (j>-1 && (temp) < (arr[j]));
arr[j+d] = temp;
}//endif
}
return arr;
}
4、交换排序->冒泡排序
function BubbleSort(arr) { //交换排序->冒泡排序
var st = new Date();
var temp;
var exchange;
for(var i=0; i<arr.length; i++) {
exchange = false;
for(var j=arr.length-2; j>=i; j--) {
if((arr[j+1]) < (arr[j])) {
temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
exchange = true;
}
}
if(!exchange) break;
}
status = (new Date() - st) + ' ms';
return arr;
}
5、交换排序->快速排序
function QuickSort(arr) { //交换排序->快速排序
if (arguments.length>1) {
var low = arguments[1];
var high = arguments[2];
} else {
var low = 0;
var high = arr.length-1;
}
if(low < high){
// function Partition
var i = low;
var j = high;
var pivot = arr[i];
while(i<j) {
while(i<j && arr[j]>=pivot)
j--;
相关文档:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>php爱好者|phpfans.net|---判断远程图片是否存在,否则替换成默认图片</title>
</head>
<body>
<p>判断远程图片是否存在,不存在的话替换成默认的 ......
注意:最好不要使用isNaN()方法,因为如果一个字符是空格的情况下,它也会把它当成数字.你必须处理空格的问题了.
呵呵,其实处理空格的问题也不难,更简单的方法处理数字问题如下:
-------------
function isNumber(str){
var mynumber="0123456789";
for(var i=0;i<str.len ......
在ajax没出来之前,一直是用iframe实现的无刷新请求。
主要的原理是:
使用js创建一个隐藏的iframe
把要提交的表单的target属性指向1中生成的iframe
在请求的页面中回调父页面的方法
这样就实现了一个简单的“异步提交”
看起来和ajax一样的效果,那为什么还要有ajax,我们来比较下:(以下把ajax技术称为X ......
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<mce:style type="text/css"><!--
div#show { float: right; color: blue; }
--></mce:style><style type="text/css" mce_bogus=" ......
正则表达式是一个描述字符模式的对象。
JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法.
在JavaScript中,正则表达式是由一个RegExp对象表示的.当然,可以使用一个RegExp()构造函数来创建RegExp对象,也可以用
JavaScript
1.2中的新添加的一个特殊语法 ......