數(shù)據(jù)的有序排列就是數(shù)組。那么棺克,既然是按照順序排列的悠垛,肯定會出現(xiàn)數(shù)據(jù)大小混亂的情況,怎么才能是數(shù)組里面的數(shù)據(jù)能整齊的排列呢逆航,下面介紹一種排序方法叫做冒泡排序鼎文。它的原理是什么呢?
升序排序:冒泡排序的原理就是先讓數(shù)組的第一個數(shù)據(jù)與第二個數(shù)據(jù)進行比較因俐,挑選出來大的那個數(shù)據(jù)把它賦值到第二個位置拇惋,再把第二個數(shù)據(jù)與第三個數(shù)據(jù)進行比較,把大的那個賦值給第三個數(shù)據(jù)抹剩,以此類推撑帖,直到結束就可以把最大的那個數(shù)據(jù)放到最后的位置上去。然后再進行第二輪澳眷,把第二大的數(shù)據(jù)放到倒數(shù)第二的位置上胡嘿,直到把最小的放在第一個位置上結束,數(shù)據(jù)就可以從小到大的進行排列了钳踊。
降序排序與升序排序正好相反就可以了衷敌。
練習一:對數(shù)組array = [1,4,2,3,5,6,9,8,7]進行升序排序和降序排序。
升序排序:
var array = [1,4,2,3,5,6,9,8,7];
for ( var i = 0 ; i < 8 ; i++) {
for ( var j = 0 ; j < 8 - i ; j++) {
if ( array[j] > array[j + 1]) {
var tmp = array[j];
array[j] = array[j + 1];
array[j + 1] = tmp;
}
}
}
console.log(array);
降序排序:
var array = [1,4,2,3,5,6,9,8,7];
for ( var i = 0 ; i < 8 ; i++) {
for ( var j = 0 ; j < 8 - i ; j++) {
if ( array[j] < array[j + 1]) {
var tmp = array[j];
array[j] = array[j + 1];
array[j + 1] = tmp;
}
}
}
console.log(array);
其實這兩個的區(qū)別就是if語句中的一個大于號改成了一個小于號拓瞪。