/ **
* Troca dois valores em uma matriz.
* @param {Array} items A matriz que contém os itens.
* @param {int} firstIndex Índice do primeiro item a trocar.
* @param {int} secondIndex Índice do segundo item a ser trocado.
* @return {void}
* /
troca de função (itens, primeiroIndex, segundoIndex) {
var temp = items [firstIndex];
itens [firstIndex] = items [secondIndex];
itens [secondIndex] = temp;
}
/ **
* Uma implementação de classificação por bolha em JavaScript. A matriz
* é classificada no local.
* @param {Array} items Uma matriz de itens para classificar.
* @return {Array} A matriz classificada.
* /
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;
}
// cria um array com valores aleatórios
var randomArray = Array.apply (null, Array (5)). map (function (_, i) {return i;}). sort (function () {
return .5 – Math. aleatório ();
});
bubbleSort (randomArray);