Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Brauche einen bestimmten Sortieralgorithmus » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 3 Beiträge
TheDancer

Herzlichen Dank für den Denkanstoss!
Tobias

Idee ist folgende:


Suche im Array von links nach einer Zahl, die größer older gleich 0 ist. Merke dir die Position in l.
Suche dann im Array von rechts nach einer Zahl, die kleiner als 0 ist. Merke dir die Position in r.
Tausche beide Zahlen.
Wiederhole das von den Positionen l und r solange, bis sich die Zeiger kreuzen.

Das Ergebnis ist eine Sortierung, die links alle Zahlen < 0 und rechts alle Zahlen >= 0 hat. Jetzt musst du noch in einem zweiten Durchgang die 0en von den positiven Zahlen trennen. Dafür kannst du dieselbe Idee verwenden.
TheDancer Brauche einen bestimmten Sortieralgorithmus

Ich habe folgende Aufgabenstellung, aber leider keine Ahnung, wie ich sie lösen könnte.

Ein lineares Feld A[1 . . . n] enthalte ganzzahlige Eintäge. Es soll so umgeordnet werden daß im
ersten Teil des Feldes alle negativen Zahlen stehen, im mittleren Teil alle Nullen und im letzten Teil
alle positiven Zahlen. Beschreiben Sie einen Algorithmus der eine solche Umordnung durchführt
ohne zus¨atzlichen Speicher zu verwenden (außer Indizes und Zählvariablen). Der Zeitaufwand des
Algorithmus soll linear in n sein.

Hat jemand eine Idee, wie man das Beispiel lösen könnte?