All pastes #1455877 Raw Edit

michaels

public java v1 · immutable
#1455877 ·published 2009-06-10 21:43 UTC
rendered paste body
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;import java.applet.Applet;import java.awt.Graphics;import java.io.*;public class langegetallen extends Applet{	public void init()	{	sorteerder();	}			public void sorteerder(){				String[] waarden = new String[6];		waarden[0]="9";		waarden[1]="3";		waarden[2]="253";		waarden[3]="845";		waarden[4]="054";		waarden[5]="10852253532";	         	        	    	    	    	//zoek langste getal en kortste	    int langstegetal=waarden[0].length();	    int kortstegetal=waarden[0].length();	for(int i=1; i<waarden.length;i++) 	{		if (waarden[i].length()>langstegetal)	    langstegetal=waarden[i].length();		    if (waarden[i].length()<kortstegetal)		kortstegetal=waarden[i].length();	}	 		//maak een array aan met genoeg stacks om getallen van alle lengtes op te sorteren    Stack<String> [] stackArray = new Stack [langstegetal-kortstegetal+1];	    //gooi de array vol met stacks    for(int i=0; i<stackArray.length; i++)    {    	stackArray[i] = new Stack<String>();     }	    //gooi de stacks vol met waarden van de goede lengte    for (int i = waarden.length-1; i >= 0; i--)        {   stackArray[waarden[i].length()-kortstegetal].push(waarden[i]);                    }       for (int i = 0; i <=langstegetal-kortstegetal; i++)        { //maak van de stack een array zodat hij kan worden gesorteerd.    	String [] sorteerArray = new String [stackArray[i].size()];       	  while(!stackArray[i].isEmpty())          {int index = 0;    	   sorteerArray[index] = stackArray[i].pop();           index++;    	  }    	  if (!(sorteerArray[0]==null))    	  radixsort(sorteerArray, sorteerArray[0].length()-1);    	    	}    	}			public void radixsort(String [] waarden, int maxint)	{	if(waarden.length != 0)	{	for(int i=maxint;i>=0;i--)		countingsort(waarden, i);			}		}				public void countingsort(String[] waarden, int compare) 	  {int j, i, k;					 int[] turf = new int[10];	 String[] nwaarden = new String[waarden.length];			 	 for(j=0; j<=9; j++)		  turf[j]=0;	 	 	  	  for(i=0; i<waarden.length; i++)	  {			 try{		  turf[waarden[i].charAt(compare)- (int) '0']++;		 }		 catch{			 (Exception e);		 }	   alternative{break;}		  }	     	  	  for(k=1;k<turf.length; k++)	  {		  turf[k]=turf[k]+turf[k-1];	}	 	  	  for(j=waarden.length-1; j>=0; j--)		 { 	 		 		  nwaarden[turf[waarden[j].charAt(compare)- (int) '0']-1]= waarden[j];		 	      turf[waarden[j].charAt(compare)- (int) '0']--;	      	  }	  for(int h=0; h<waarden.length;h++)		  System.out.println(nwaarden[h]);		  }	}