
public class MainClass {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		double[][] prova = 
			{ {3.0,-1.8}, null, {} , {7.0}};
		stampaMatrice(prova);

		double[] testOrdinamento =
			{2, .5, -3.6, 5.9, 100, -890};
		
		System.out.println();
		stampaArray(testOrdinamento);
		System.out.println(isSorted(testOrdinamento));
		insertionSort(testOrdinamento);
		System.out.println();
		stampaArray(testOrdinamento);
		System.out.println(isSorted(testOrdinamento));
		

	}
	
	static void insertionSort (double[] a){
		if (a==null) {
			return;
		}
		for (int i=1; i<a.length; i++){
			double temp=a[i];
			int j;
			for (j=i-1; j>=0 && a[j]>temp; j--){
				a[j+1]=a[j];
			}
			a[j+1]=temp;
		}
	}
	
	
	static void selectionSort(double[] a){
		if (a==null) {
			return;
		}
		for (int i=0; i<a.length-1;i++){
			int posMinCorrente=i;
			for (int j=i+1; j<a.length; j++){
				if (a[j]<a[posMinCorrente]){
					posMinCorrente=j;
				}
			}
			double temp=a[i];
			a[i]=a[posMinCorrente];
			a[posMinCorrente]=temp;
		}		
	}
	
	static void stampaArray (double[] a){
		if (a==null){
			return;
		}
		System.out.print("{");
		for (int i=0; i<a.length; i++){
			System.out.print(a[i]);
			if (i<a.length-1){
				System.out.print(", ");
			}
		}
		System.out.print("}");
	}
	
	static boolean isSorted(double[] a){
		for (int i=0; i<a.length-1; i++){
			if (a[i]>a[i+1]){
				return false;
			}
		}
		return true;
	}
	
	static void stampaMatrice (double[][] m){
		if (m==null){
			return;
		}
		System.out.print("{");
		for (int i=0; i<m.length; i++){
			if (m[i]!=null){
				System.out.print("{");
				for (int j=0; j<m[i].length; j++){
					System.out.print(m[i][j]);
					if (j<m[i].length-1){
						System.out.print(", ");
					}
				}
				System.out.print("}");
			}
			if (i<m.length-1){
				System.out.println(",");
			}
		}
		System.out.print("}");
	}

}
