像:jQuery的table排序插件(感觉其使用比较麻烦或不清楚其具体用法,就没有使用)、原生态js的table排序插件等,最后比较看了下——采用了一个原生态js的table排序插件,并在其基础上做了些修改,虽有些勉强或有些地方使用不太舒服,但最算是比较好的实现了当时需要的功能。而前两天,对原有表格做了点儿修改——增加隔行换色的功能,问题就出现了,——效果错乱;检查分析了下,问题出在其table排序插件代码上——其原代码写的比较难...
步骤: 1.实现随鼠标移动的效果; 2.初始化一个元素及其坐标; 3.拖拽对象的最后坐标,与元素的坐标 进行计算和判断 来确定 要插入的目标元素; 4.用insertBefore 方法 插入到目标元素的前面 具体代码如下: 代码如下:<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>测试的拖拽功能</title> <style type="text/css"> body, div { margin: 0; paading: 0; font-siz...
插入排序 插入排序是这样实现的: 首先新建一个空列表,用于保存已排序的有序数列(我们称之为"有序列表")。 从原数列中取出一个数,将其插入"有序列表"中,使其仍旧保持有序状态。 重复2号步骤,直至原数列为空。 插入排序的平均时间复杂度为平方级的,效率不高,但是容易实现。它借助了"逐步扩大成果"的思想,使有序列表的长度逐渐增加,直至其长度等于原列表的长度。 (引自百度百科) javascript代码 ...
对了,注意那个innerText和innerHTML 代码如下:function sortCells(event) { var obj = event.target; var count = 0; count是记录点击次数的,根据奇偶进行升序或降序 if(!obj.getAttribute("clickCount")){ obj.setAttribute("clickCount", 0); } else { count = parseInt(obj.getAttribute("clickCount")); count++; obj.setAttribute("clickCount", count); } var table = event.target.parentNode.parentNode; if(table.node...
例如: - a (position 1) - b (position 2) - c (position 3) move c between a and b: cp=1 move a between b and c: cp=2 下移位置多加了1,不太清楚为什么,这里提供一种修复方法,也许它不是很好。 把 "position" : data.rslt.cp + i, 换成 "position" : data.rslt.o.index() + i, 可能对你有所帮助
这个排序是进行两两比较。 拿这个数组进行降序排列var a = [3, 1, 5, 6, 4, 2]; 第一轮比较:用第一个数值和本数组的其他元素进行比对 3比1 3比5 //5大,所以所以进行交换 得a = [5, 1, 3, 6, 4, 2]; 5比6 //交换 得a = [6, 1, 3, 5, 4, 2]; 6比4 6比2 第一轮最终结果 a = [6, 1, 3, 5, 4, 2]; 第二轮比较:用第二个数值和这个数值之后的元素进行对比 1比3 //交换 得a = [6, 3, 1, 5, 4, 2]; 3比5 //交换 得a = [6, 5, 1, 3, 4, 2]...
效果图如下所示:代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>中文首字母排序</title> <link rel="stylesheet" href="css/listnav.css" type="text/css" media="screen" charset="utf-8" /> <script src="js/jquery-1.4.4.min.js" type="text/javascript"></script> <!--获...
js,jQuery 排序的实现: 重点: 想要实现排序,最简单的方法就是 先把标签用jQuery读进对象数组 用js排序好对象数组 (针对对象数组进行排序, 不要试图直接对网页的内容进行直接更改) 用对象数组内容覆盖网页上的标签数组; //排序从文字短的到长的 代码如下://排序从文字短的到长的 var arr_a=new Array(); var i=0; $(".type_list_txt > span:contains(T恤)").parent().children("a").each(function(){ arr_a[i]=$(this).clone(); i+...
1、基本思想 假设待排序的记录存放在数组R[1..n]中。初始时,R[1]自成1个有序区,无序区为R[2..n]。从i=2起直至i=n为止,依次将R[i]插入当前的有序区R[1..i-1]中,生成含n个记录的有序区。 代码如下:<!doctype html> <html> <head><title>javascript直接插入排序</title> <meta charset = "utf-8" /> </head> <body> <script> var arr = []; for(var i=0;i<20;++i) { arr.push(~~(Math.random()*20)); } document.write(arr+"<b...
下载代码和示例:jqueryPaging.rar 使用方法如下: 代码如下:<script language="javascript" type="text/javascript"> $("#myTable").tablePaging({ pageSize: 5, sorting: true, sortSelector: ".js-Order", sortType: "number" }); </script> 如果仅仅用分页功能:$("#myTable").tablePaging(); 参数说明: id: jQuery(this).attr(id), // 要分页的表格的ID pageSize: 10, // 单个页面显示记录数,默认是10条 sorting: false,/...
说明 写这个主要是为了锻炼自己,并无实际意义。 每个浏览器测试得出的数据会不一样。比如我用chrome 测试 一般快速排序都会最快,IE 则根据数组长度有可能希尔最快。 不要用太大数据去测试冒泡排序(浏览器崩溃了我不管) 如果有兴趣可以 下载测试页面 个人理解 冒泡排序:最简单,也最慢,貌似长度小于7最优 插入排序: 比冒泡快,比快速排序和希尔排序慢,较小数据有优势 快速排序:这是一个非常快的排序方式,V8的sort方法就使用...
作为排序依据的数据项称为“排序码”,也即数据元素的关键码。为了便于查找,通常希望计算机中的数据表是按关键码有序的。如有序表的折半查找,查找效率较高。还有,二叉排序树、B-树和B+树的构造过程就是一个排序过程。若关键码是主关键码,则对于任意待排序序列,经排序后得到的结果是唯一的;若关键码是次关键码,排序结果可能不唯一,这是因为具有相同关键码的数据元素,这些元素在排序结果中,它们之间的的位置关系与排序前不...
1. PHP 代码如下:<?php $unsorted = array(2,4,5,63,4,5,63,2,4,43); function quicksort($array) { if (count($array) == 0) return array(); $pivot = $array[0]; $left = $right = array(); for ($i = 1; $i < count($array); $i++) { if ($array[$i] < $pivot) $left[] = $array[$i]; else $right[] = $array[$i]; } return array_merge(quicksort($left), array($pivot), quicksort($right)); } $sorted = quicksort($unsort...
代码如下://灵感来自 //http://www.cnblogs.com/jkisjk/archive/2011/01/28/array_quickly_sortby.html var hasDuplicate = false; var sortBy = function(nodes){ var result = [], array = [], n = nodes.length, i = n, node; while(node = nodes[--n]){ (array[n] = new Number(~~node.sourceIndex))._ = node; } array.sort(function(a,b){ if(a === b) hasDuplicate = true; return a - b ; }); while( i ) result[--i] = ar...
按所推荐的程序在IE下跑了下,的确,排序耗时很小。 代码如下:<script> /* * 洗牌 */ function getRandomPlayCard(m){ var array1=new Array(m); for(var i=0;i<m;i++){ var rnd=Math.floor(Math.random()*(i+0.99999)) array1[i]=array1[rnd]; array1[rnd]=i; } return array1; }; /* * 快速排序,按某个属性,或按“获取排序依据的函数”,来排序. * @method soryBy * @static * @param {array} arr 待处理数组 * @param {strin...