Hallo erstmal, das ist mein erster Post in einem Forum seit ner langen Zeit, also bitte entschuldigt wenn es etwas ungenau ist
Also folgendes Problem.
Ich hab zwei sortierte Felder
feldA = {1,3,5,9}
feldB = {2,4,6,10}
Nun ist die Aufgabe diese beiden Felder zu einem einzelnen sortierten Array mittels Merge-Sort (selbst-
implementiert, die Sortierung erfolgt beim Zusammenf¨ugen und nicht separat)
Also ich muss sozusagen bei dem verschmelzen Punkt des MergeSort Algorithmus ansetzen. Folgende Ideen hab ich schon gehabt.
1) Beide Arrays durchgehen, also feldA und überprüfen ob in beiden ein kleinere Wert ist, wenn ja dann in das neue Feld eintragen (wobei ich aber das problem habe das der kleiner Wert noch in den beiden Feldern drin bleibt, was bei einem weiteren durchlauf wieder als kleinere Wert vorkommt - also müsste man den Wert dann irgendwie entfernen (was bei arrays glaub nicht so einfach ist).
2) den ersten Wert in das neue Feld dann den zweiten und dann schaun ob der erste Wert kleiner ist als der andere, das solange bis feldA und feldB abgearbeitet sind, wobei ich mir aber nicht sicher bin ob das dann noch als MergeSort durchgeht.
Also am liebsten wäre mir die erste Variante, aber wiegesagt ich habe keine ahnung wie man ein Element aus einem Array löscht/entfernt.
Ich gebe zu ich bin etwas spät dran mit der Aufgabe (muss morgen fertig sein, aber das ist der letzte knackpunkt). Im Moment bin ich halt im Umzugsstress...also ich hoffe ihr rettet mir den Hintern
Viele Grüße und ein großes Danke schonmal von mir.
Also folgendes Problem.
Ich hab zwei sortierte Felder
feldA = {1,3,5,9}
feldB = {2,4,6,10}
Nun ist die Aufgabe diese beiden Felder zu einem einzelnen sortierten Array mittels Merge-Sort (selbst-
implementiert, die Sortierung erfolgt beim Zusammenf¨ugen und nicht separat)
Also ich muss sozusagen bei dem verschmelzen Punkt des MergeSort Algorithmus ansetzen. Folgende Ideen hab ich schon gehabt.
1) Beide Arrays durchgehen, also feldA und überprüfen ob in beiden ein kleinere Wert ist, wenn ja dann in das neue Feld eintragen (wobei ich aber das problem habe das der kleiner Wert noch in den beiden Feldern drin bleibt, was bei einem weiteren durchlauf wieder als kleinere Wert vorkommt - also müsste man den Wert dann irgendwie entfernen (was bei arrays glaub nicht so einfach ist).
2) den ersten Wert in das neue Feld dann den zweiten und dann schaun ob der erste Wert kleiner ist als der andere, das solange bis feldA und feldB abgearbeitet sind, wobei ich mir aber nicht sicher bin ob das dann noch als MergeSort durchgeht.
Also am liebsten wäre mir die erste Variante, aber wiegesagt ich habe keine ahnung wie man ein Element aus einem Array löscht/entfernt.
Ich gebe zu ich bin etwas spät dran mit der Aufgabe (muss morgen fertig sein, aber das ist der letzte knackpunkt). Im Moment bin ich halt im Umzugsstress...also ich hoffe ihr rettet mir den Hintern
Viele Grüße und ein großes Danke schonmal von mir.