Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

InsertSort sortiert nicht komplett

Diskussion: InsertSort sortiert nicht komplett im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo Habo, mein kleiner Algorithmus zum sortieren hat irgendwie noch ein Problem. Code: public static void insertSort(int Feld[]){ for(int ...

Antwort
Alt 18.06.09, 17:31   #1 (permalink)
 
Registriert seit: 21.10.06
weau Leistung: Facit NTK
Likes: 0
InsertSort sortiert nicht komplett

Anzeige

Hallo Habo, mein kleiner Algorithmus zum sortieren hat irgendwie noch ein Problem.

Code:
public static void insertSort(int Feld[]){
		for(int j=2;j<Feld.length;j++){
			int key = Feld[j];
			int i = j-1;
			while(i>0 && Feld[i]>key){
				Feld[i+1] = Feld[i];
				i = i-1;
			}
			Feld[i+1] = key;
		}
	}
Wenn ich ein Feld "66,324,28" übergebe sortiert er nur in "66,28,324", dass 1te Element im Feld wird nicht beachtet.
Irgendwelche Ideen warum?

LG,weau
weau ist offline   Mit Zitat antworten
Alt 18.06.09, 17:35   #2 (permalink)
Moderator
 
Benutzerbild von lightsaver
 
Registriert seit: 19.06.06
lightsaver Leistung: Pentium Ilightsaver Leistung: Pentium Ilightsaver Leistung: Pentium I
Likes: 51
Standard

Wieso machst du in der for-Schleife j=2 ? hab es jetzt nur überflogen, aber da du danach ja nur ein i = j-1 nimmst, wirst du i niemals = 0 haben und Feld[0] niemals erreichen
lightsaver ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 18.06.09, 18:01   #3 (permalink)
Themenstarter
 
Registriert seit: 21.10.06
weau Leistung: Facit NTK
Likes: 0
Standard

Ich hab schon mit mehreren j Werten rumgespielt, dass hat irgendwie keinerlei Effekte.
weau ist offline   Mit Zitat antworten
Alt 18.06.09, 19:00   #4 (permalink)
Moderator
 
Benutzerbild von lightsaver
 
Registriert seit: 19.06.06
lightsaver Leistung: Pentium Ilightsaver Leistung: Pentium Ilightsaver Leistung: Pentium I
Likes: 51
Standard

Also wie schon erwähnt muss j = 1 sein und nicht j = 2. Meine Begründung vorhin war zwar falsch, aber dennoch ist es so, da du sonst erst ein Element zu spät mit dem Sortieren beginnst.
Dann hast du aber noch einen Fehler in deiner while-Schleife, den man sehr schön sieht, wenn man dein Beispiel mal wirklich per Hand durchrechnet. Du sagst i>0. Das Problem ist nun, dass dass in deinem Beispiel der 2. Durchlauf der while-Schleife mit j = 2, i = 0, key = 28 nicht mehr stattfindet. Dadurch wird aber genau das 1. Element, also die 63 nicht mehr mit key verglichen.
Mache also noch i >= 0 und das sollte funktionieren
lightsaver ist offline   Mit Zitat antworten
Alt 19.06.09, 11:29   #5 (permalink)
Themenstarter
 
Registriert seit: 21.10.06
weau Leistung: Facit NTK
Likes: 0
Danke!
weau ist offline   Mit Zitat antworten
Alt 19.06.09, 12:02   #6 (permalink)
Moderator
 
Benutzerbild von lightsaver
 
Registriert seit: 19.06.06
lightsaver Leistung: Pentium Ilightsaver Leistung: Pentium Ilightsaver Leistung: Pentium I
Likes: 51
Standard

Ich kann dir für solche Fälle nur ans Herz legen, entweder dir das mal Schritt für Schritt im Debugger anzusehen oder wirklich mal deinen Code zu nehmen und dann jeden Schritt per Hand auf Papier durchzugehen. Dabei fällt einem so ein Fehler dann recht schnell auf
lightsaver ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » InsertSort sortiert nicht komplett
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Internetseiten werden nicht komplett geladen schmitti81 Internet Allgemein 4 01.04.09 14:40
[JAVA] quicksort sortiert nicht komplett MrSpider Code Kitchen 7 04.06.08 16:36
Array nicht komplett ausgeben weau (Web-) Design und webbasierte Sprachen 7 20.03.08 19:55
google listet page nicht komplett psyhead (Web-) Design und webbasierte Sprachen 3 08.08.05 00:01
phpmyadmin => absteigend sortiert Flou (Web-) Design und webbasierte Sprachen 4 01.07.03 16:59


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61