思想:两个数比较大小,较大的数下沉,较小的数冒起来。
时间复杂度:O(n2)
属于稳定排序
javascript代码如下:
Bubble: function (newData) {
for (var i = 0; i < newData.length; i++) {
for(var j = i; j < newData.length; j++){
if(newData[i] > newData[j]){
var temp = newData[i];
newData[i] = newData[j];
newData[j] = temp;
}
}
}
}
优化:
在第二层循环前加入flag。当发生交换时 将flag改为true
第二层循环结束后若flag为flase,则证明无需再进行排序 直接break
testing:
var data = [9,2,5,15,14,19,22,29,56,32];
Bubble(data);
网友评论