最经典的冒泡排序法,自己就只对这个印象最深了:
// 写一个简易的冒泡排序算法
// js不等同于c,在真实处理过程中我们需要注意是否是拷贝对象或引用对象,不然很容易出错
var c = [1,2,3,4,5,6,7];
var len = c.length, l, tmp;
while(--len){
l = len;
tmp = c[len];
while(l--){
if(c[l]<tmp){
tmp = c[l];
swap(l, len);
}
}
}
function swap(i, j){
var temp = c[i];
c[i] = c[j];
c[j] = temp;
temp = null;
}
另外一个就是二分法查找:
// 写一个简易的二分法查询, 默认c是增长性的
function find(c, n){
var s = 0, e = c.length-1, mid, tmp;
while(s<=e){
mid = Math.floor((s+e)/2);
tmp = c[mid];
if(tmp == n) return {'poz': mid};
if(tmp > n) e = mid-1;
else s = mid+1;
}
return false;
}谨此以记。
本文介绍了两种基础算法:冒泡排序和二分查找法。冒泡排序通过不断比较相邻元素并交换位置实现排序;二分查找则适用于已排序数组,通过不断缩小查找范围提高效率。
6553

被折叠的 条评论
为什么被折叠?



