使用冒泡法进行排序然后用二分查找法找出33的位置 JS
2019-10-11 18:56
1351 查看
var data = [33, 86, 12, 9, 66, 5, 10, 45, 11, 3]; function sort(data){ var i=0; while(i<data.length-1){ for(var j=0;j<data.length-i-1;j++){ if(data[j]>data[j+1]){ var x=data[j]; data[j]=data[j+1]; data[j+1]=x; } } 5b4 i++; } } sort(data) BinarySearch(data,33) function BinarySearch(arr, target) { let s = 0; let e = arr.length - 1; let m = Math.floor((s + e) / 2); let sortTag = arr[s] <= arr[e];//确定排序顺序 while (s < e && arr[m] !== target) { if (arr[m] > target) { sortTag && (e = m - 1); !sortTag && (s = m + 1); } else { !sortTag && (e = m - 1); sortTag && (s = m + 1); } m = Math.floor((s + e) / 2); } if (arr[m] == target) { console.log('找到了,位置%s', m); return m; } else { console.log('没找到'); return -1; } }
相关文章推荐
- php使用js对表格进行排序
- 1.传入一个列表,列表中元素可能是任意类型 2.使用高级函数完成非字符串元素的删除 3.然后按照字符串的长度进行降序排序 4.返回新的排序后的列表
- 对一个数组按给定的下标排序,仅使用两两交换的方式,要求不能对数组进行扩容尽可能使用额外少的空间。原数组为:A,B,C,D,E, 现给定新的位置为3, 0, 1, 4, 2那么排序为D,A,B,E,C
- JS 对数组进行升序排序(冒泡法)
- 在Ruby中使用冒泡法进行排序
- JS -- 使用sort() 方法对数组进行排序
- 02_对N个长度最长可达到1000的数进行排序、对给定的一个字符串,找出有重复的字符,并给出其位置、输入一系列整数,将其中最大的数挑出,并将剩下的数进行排序
- 1.传入一个列表,列表中元素可能是任意类型 2.使用高级函数完成非字符串元素的删除 3.然后按照字符串的长度进行降序排序 4.返回新的排序后的列表
- 使用一维数组进行简单排序(冒泡法)
- 使用for循环对数组进行排序[冒泡法]
- js:数组重排序问题:如何使用sort()方法按数值的大小进行升序或降序排列
- C++算法库学习__std::sort__对 vector进行排序_排序后就可以进行使用std::lower_bound进行二分查找(查找第一个大于等于指定值的迭代器的位置)__std::unique
- 用3位以内的随机整数填充长度为20的整型数组,然后使用冒泡排序法按升序进行排序,输出排序后的数组元素(每行输出10个元素)。
- C语言 选择排序算法原理和实现 从数组中 找出最小的元素然后交换位置
- JS使用sort按照某个属性的值进行排序
- 使用了js控制根元素的font-size大小,然后进行rem换算
- 使用“冒泡法”对输入数字进行排序
- C++算法库学习__std::sort__对 vector进行排序_排序后就可以进行使用std::lower_bound进行二分查找(查找第一个大于等于指定值的迭代器的位置)__std::unique
- 使用JS对数组进行排序,设置计时器和计数器
- 使用 Apache Lucene 和 Solr 进行位置感知搜索