Estou tendo problemas para usar esse Algortimo de ordenação, na realidade estou tendo problema pra entender ele, posto que o professor da Facul, falou uma coisa e na internet achei diversas coisas diferentes e com poucas ligações, simplesmente queria entender o Algortimo e ver um exemplo que funcione corretamente
Eu fiz uma implementação em javascript, acho que pode ajudar (salve arquivo como html e abra no browser):
<html><head><metahttp-equiv="Content-Type"content="text/html; charset=utf-8"><script>w=function(str){document.write('<br />'+str);}/*Imprime na tela as propriedades de um objeto na primeira chamada, deve ser chamado com dump(obj, true);*/functiondump(obj,print){varout='';for(variinobj){if(typeofobj[i]=="object"){out+="\n["+i+" : "+dump(obj[i],false)+"]\n";}else{out+=i+": "+obj[i]+"\n";}}//alert(out);if(print){varpre=document.createElement('pre');pre.innerHTML=out;document.body.appendChild(pre)}returnout;}functionbubbleSort(array){w('####################Inicializando ordenação####################');k=array.length;for(i=0;i<array.length;i++){w("*****Iteração "+i+"***** Array atual --> "+array.join(','));for(j=1;j<k;j++){if(array[j-1]>array[j]){temp=array[j-1];array[j - 1]=array[j];array[j]=temp;w("Trocando itens array["+(j-1)+"] = "+array[j-1]+" e array["+j+"] = "+array[j]+" --> "+array.join(','));}else{w("Itens array["+(j-1)+"] = "+array[j-1]+" e array["+j+"] = "+array[j]+" não serão trocados --> "+array.join(','));}}k--;w("*****Final da Iteração "+i+"*****");}w('####################Ordenação finalizada####################');}a=[3,2,4,5,1,8];bubbleSort(a);</script></head></html>