Java Booble Sort

2011-01-15
package test;

/**
 * Classe che implementa il metodo di ordinamento del BoobleSort
 * @author Abejan
 * @version 14/12/2010
 *
 */

public class BoobleSort {

	public static void ordina(int[] array_elementi){
		
		int i=0;
		int swap;//variabile di appoggio per lo swap
		int count=0;
		boolean flgswap=true;
			
		while (flgswap){
			flgswap=false;
			i=0;
			System.out.println("Passaggio " + count);
			while (i<array_elementi.length-1-count){
				print_array(array_elementi);			
				//swap
				if(array_elementi[i]>array_elementi[i+1]){
					swap=array_elementi[i+1];
					array_elementi[i+1]=array_elementi[i];
					array_elementi[i]=swap;
					flgswap=true;
				}	
				i++; 				
			}
			count++;//conteggio numero passaggi
		}
	}
	
	//metodo che stampa l'array
	public static void print_array(int[] array_elementi){
		int i;
		for (i=0;i<array_elementi.length;i++){
			System.out.print("["+i+"]->" + array_elementi[i]+" ");
		}			
		System.out.println("");
	}
	
	public static void main(String[] args) {
		int ar[]={3,1,5,2,4};
		ordina(ar);
	}		
}