作者:chunhuai | 来源:互联网 | 2022-01-26 00:44
下面就简单列举一下Javascript中常见的一些算法,需要的朋友可以做一下参考。当然这些算法不仅仅适用于Javascript,同样也适用于其他语言。
一.线性查找:
比较简单,属于入门级的算法
//A为数组,x为要搜索的值
function linearSearch(A, x) {
for (var index = 0; index
二.二分查找:
又称折半查找,适用于已排好序的线性结构。
//A为已按"升序排列"的数组,x为要查询的元素
//返回目标元素的下标
function binarySearch(A, x) {
var low = 0, high = A.length - 1;
while (low <= high) {
var mid = Math.floor((low + high) / 2); //下取整
if (x == A[mid]) {
return mid;
}
if (x
三.冒泡排序:
//冒泡排序
function bubbleSort(A) {
for (var i = 0; i i; j--) {
if (A[j]
四.插入排序:
//插入排序
//假定当前元素之前的元素已经排好序,先把自己的位置空出来,
//然后前面比自己大的元素依次向后移,直到空出一个"坑",
//然后把目标元素插入"坑"中
function insertSort(A) {
for (var index= 1; index= 0 && A[j] > x; j--) {
A[j + 1] = A[j];
}
if (A[j + 1] != x) {
A[j + 1] = x;
println(A);
}
}
return A;
}
五.字符串反转:
//字符串反转(比如:ABC -> CBA)
function inverse(s) {
var arr = s.split('');
var index= 0, j = arr.length - 1;
while (index
以上内容给大家简单介绍了JavaScrip常见的算法总结,希望本文能够给大家带来帮助。