Man wählt ein Element nach dem anderen und fügt es jeweils an die richtige Stelle der bereits geordneten Liste ein. Dabei ist allerdings eine Reihe von Tauschvorgän-gen notwendig!
Beispiel:
Code:
import java.awt.*; import java.util.Random; public class einfuegen extends java.applet.Applet { int h[] = new int[101]; public void init() { int i; Random r = new Random(); for (i=1; i<=100; i++) { h[i] = (int) (r.nextDouble()*100); } } public void paint(Graphics g) { int i; int j; int l; int hilfsvar; g.setColor(Color.white); g.fillRect(5,0,500,100); g.setColor(Color.black); for (l=1;l<=100;l++) { g.fillRect(l*5,100-h[l],3,h[l]); } for (i=2;i<=100;i++) { hilfsvar=h[i]; j=i-1; while ((hilfsvar<h[j]) && (j>0)) { h[j+1]=h[j]; g.setColor(Color.white); g.fillRect(j*5,0,3,100); g.fillRect((j+1)*5,0,3,100); g.setColor(Color.black); g.fillRect((j+1)*5,100-h[j],3,h[j]); j--; g.setColor(Color.black); g.fillRect((j+1)*5,100-hilfsvar,3,hilfsvar); for (int pause=0;pause<100000;pause++) {} } h[j+1]=hilfsvar; } } }
Kommentar:
zurück zu Sortieralgorithmen |