js实现查找有序序列下的元素
2014-03-22 13:57
183 查看
1.插入后返回数据
function sort_arr(arr_sort, n){
for(var i=arr_sort.length-1; i>=0 ;i--){
if( n == arr_sort[i] ){ return i};
if( n < arr_sort[i]){
arr_sort[i+1] = arr_sort[i];
}else{
break;
}
}
arr_sort[i+1] = n ;
return arr_sort;
}
2可以用cache来缓存内容,返回一个index,但是arr的变量属于局部?这个如何是好
function sort_arr(arr_sort, n){
for(var i=arr_sort.length-1; i>=0 ;i--){
if( n == arr_sort[i] ){ return i};
if( n < arr_sort[i]){
arr_sort[i+1] = arr_sort[i];
}else{
break;
}
}
arr_sort[i+1] = n ;
return arr_sort;
}
2可以用cache来缓存内容,返回一个index,但是arr的变量属于局部?这个如何是好
var find_sort_arr = (function(){ var cache = {}; //utils function inser(arr, n){ for(var i=arr.length-1; i>=0 ;i--){ if( n < arr[i]){ arr[i+1] = arr[i]; }else{ break; } } arr[i+1] = n ; return i+1; } return function(arr, n){ var index; if( n in cache ) { return cache ; } if( index = String.prototype.indexOf.call(arr, n) != -1){ index = Math.floor( index/2 ); cache[ arr[index]+""] = index; }else{ //insert new element into sorted array index = inser(arr, n); cache[ arr[index] ] = index; } return index; } })();
相关文章推荐
- [转]原生JS-查找相邻的元素-siblings方法的实现
- 原生js实现查找/添加/删除/指定元素的class
- 链表的基本操作(创建,查找指定位置元素,删除指定元素,插入,倒置,去重,求集合的差,分别交换结点与交换结点值实现的冒泡排序,将两个有序链表合并成一个有序链表)c语言实现
- (1)顺序表的操作 ① 输入一组整型元素序列,建立线性表的顺序存储结构。 ② 实现该线性表的遍历。 ③ 在该顺序表中查找某一元素,查找成功显示查找元素,否则显示查找失败。 ④ 在该顺序表中删除或插入指
- js中查找最近的共有祖先元素的实现代码
- 在一组序列中查找两个元素的和等于给定的值(快排+两端扫描实现)
- js-数组中查找特定元素并返回所有该元素的索引
- vuejs2.0运用原生js实现简单的拖拽元素功能
- JS+CSS实现模仿浏览器网页字符查找功能的方法
- 生成一个一维数组,有10个元素,都用随机数填充,用指针轮询的办法实现函数查找一个数是否存在。
- 用 几 行代码实现 JS 动画序列播放
- 原生JS 实现元素排序
- 有序数组1 2 3 4 5 6 7 8 9查找3的二分查找序列是
- js css 实现遮罩层覆盖其他页面元素附图
- js实现运动logo图片效果及运动元素对象sportBox使用方法
- 有序(循环)数组查找元素-二分查找法
- js与jquery获取父级元素,子级元素,兄弟元素的实现方法
- 原生JS获取元素的位置与尺寸实现方法
- [算法] 循环有序数组查找递归实现