|
阅读:5093回复:0
【排序】冒泡排序 -- js实现
基本思想:两两比较相邻记录的关键字,如果反序则交换,直至没有反序为止
详细实现方法
上述,方法称之为: 正向冒泡算法 function bubbleSort(items){
var len = items.length,
i, j, stop;
for (i=0; i < len; i++){
for (j=0, stop=len-i; j < stop; j++){
if (items[j] > items[j+1]){
swap(items, j, j+1);
}
}
}
return items;
}如果从最后一项开始,两两比较的话,我们称之为:反向冒泡算法
function bubbleSort(items){
var len = items.length,
i, j;
for (i=len-1; i >= 0; i--){
for (j=len-i; j >= 0; j--){
if (items[j] < items[j-1]){
swap(items, j, j-1);
}
}
}
return items;
}
还是,一种思想,也是冒泡算法,即使用了两两比较,只是不是左右相比,而是某一位,与其它位相比 详细方法: 1. 第一位与第二位比,不合条件交换 2. 第一位和第三位比,不合条件 3. 第一位,一直比到最后一位,找到符合条件的第一个数 4. 在依次找第二个数,第三个数,直到最后一个数 代码实现: function bubbleSort(items){
var len = items.length,
i, j;
for (i=0; i < len; i++){
for (j=i+1;j<len; j++){
if (items[i] > items[j]){
swap(items, j, j+1);
}
}
}
return items;
}参考:
https://www.cnblogs.com/alaner/p/9515070.html http://caibaojian.com/javascript-bubble-sort.html |
|
|