insertionsort

Status
Nicht offen für weitere Antworten.
M

mana

Gast
hallo
also ich will mein feld sortieren lassen
dazu habe ich eine ausgabe des normalen feldes geschrieben die funktioniert auch
nur meine methode insertionsort funzt nicht...finde an ihr aber keinen fehler
denke eher das er nicht auf das feld zurück greift
finde aber nicht heraus wie ich nun zu meiner sortierten ausgabe des feldes komme





Code:
public class sortieren {

	// InsertionSorter s=new InsertionSorter();
	// s.sort(b);
	public static void main(String[] args) {
		int feld[] = { 4, 65, 1, 43, 6, 8, 9, 32 };
		// int n=8;

		/*
		 * int[] a = new int [n];
		 * 
		 * for (int i=0; i<n;i++){
		 * 
		 * a[i]=i ;
		 *  }
		 */

		print(feld);
		insertionSort(feld);

	}

	public static void insertionSort(int[] feld) {

		int i, j, m;
		for (i = 1; i < feld.length; i++) {

			j = i;
			m = feld[i];
			while (j > 0 && feld[j - 1] > m) {
				feld[j] = feld[j - 1];

				j = j - 1;
			}

			feld[j] = m;

		}

	}

	public static void print(int[] feld) {
		for (int i = 0; i < feld.length; i++)
			System.out.print(feld[i] + "   ");
		System.out.println("");
	}

}
 

RicoSoft

Aktives Mitglied
Also, mit dem Code da kannst Du mal sicher sein, dass das Feld unsortiert ausgegeben wird. Ohne den Code auch nur anzuschauen für das Insertion Sort wird hier zuerst print und dann der sort aufgerufen, die Reihenfolge müsstest Du sicher mal ändern.
 
M

mana

Gast
oh tatsächlich
danke
aber ich will eigentlich beide methoden ausgeben..dacht der gibt dir untereinander aus?
 
S

SlaterB

Gast
was meinst du mit 'beide methoden'?
in insertionSort() gibts kein System.out.println(irgendwas);
 
S

SlaterB

Gast
was meinst du mit 'insertionSort() ausgeben'?
eine Java-Operation kann man nicht ausgeben, nur ausführen,
was stellst du dir vor, sollte auf dem Bildschirm erscheinen?
 

tapioca

Mitglied
es ist egal, wie die Methoden im Code beschrieben sind, worauf es bei der Reihenfolge drauf ankommt ist, wie die in der Main-Methode aufgerufen werden.
anstelle von:
Code:
      print(feld); 
      insertionSort(feld);

musst du einfach
Code:
      insertionSort(feld);
      print(feld);

schreiben, dann könnte es gehen, aber eigentlich hat das Rico auch schon gesagt.
 
M

mana

Gast
ja hab den aufruf der methoden schon geändert und funktioniert auch.

als ausgabe hätte ich aber gerne das er mir das unsortiere feld ausgibt (durch print() )
und darunter das sortierte durch insertionsort();

ich könnte die ausgabe des unsortierten feldes auch in die main reinschreiben das würde auch gehen aber das muss doch auch gehen die durch print() aufzurufen
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben