// Find the biggest and move it to the end. int n=10, j, big=0, t=20; float[] e = new float[n]; // void setup() { size(200, 200); reset(e, n); } void draw() { background(255); fill(0); show( e, n ); // Display the array. noLoop(); } void reset( float[] a, int n ) { // Fill with random values. // for (int j=0; j a[k]) k=j; } return k; // Index of biggest. } void swap( float[] a, int p, int q ) { // Swap a[p] with a[q] // float tmp=a[p]; a[p]=a[q]; a[q]=tmp; } void mysort( float[] a, int p ) { // Sort the array. // int m=n; // Start with complete array. println( "SORT", m, a[m-1] ); for (int i=m; m>1; m=m-1) { // Shrink the array! big = findBig( a, m ); // Index of biggest. swap( a, big, m-1 ); // Move it to end. //-- println( m, a[m-1] ); loop(); } } void keyPressed() { if (key == 'r') reset( e, n ); if (key == 's') mysort( e, n ); }