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; ilangstegetal) langstegetal=waarden[i].length(); if (waarden[i].length() [] stackArray = new Stack [langstegetal-kortstegetal+1]; //gooi de array vol met stacks for(int i=0; i(); } //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=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