Sortieren

Mikrowelle

Bekanntes Mitglied
Hallo
Nachdem ich die Woche damit verbracht habe muss ich jetzt kapitulieren. Und Morgen schon die Abgabe. Für jegliche Hilfe wäre ich sehr sehr sehr sehr dankbar.

Ein Chef Zwerg bekommt Zahlen, und muss diese der grösse nach in einem Array sortieren. (Als Tip steht das es sinnvoll wäre 2DArray zu benutzen. Wobei ich nicht weis ob ein 2D Array reicht oder es mehrere sein sollten)

drei Zahlen | 212, 52345, 123 |

Alle Zahlen müssen fünf Stellig sein, heisst es wird |00212, 52345, 00123|
Jetzt muss die erste Ziffer betrachtet werden alle Zahlen mit der gleichen Ziffer kommen auf ein "Abstellplatz" mit der entsprechnen Nummer.

Heisst
Abstellplatz 0: 00212, 00123
Abstellplatz 5: 52345

Bis hierhin habe ich es geschaft.

Jetzt schickt der Chef Zwerg an jeden Abstellplatz einen kleinen Zwerg, der das ganze mit von diesen Abstellplatz geholten Zahlen wiederholen muss.Nur dieses mal muss die zweite Ziffer betrachtet werden . Jeder der kleinen Zwerge hat noch einen kleineren Zwerg der es dann mit der dritten Ziffer macht usw...



Am ende soll es rekursiv sein und ein Sortier Array wäre die Belohnung.... ;(
Ich habe so einges versucht aber ich krieg das nur hin das die richtigen Zahlen auf ihre Abstellplätze kommen. Sobald es bis zu der zweiten Ziffer verliere ich den Überblick....

Falls es jemanden Hilft mein Haufen Code zu sehen

Diese Methode soll einen Array von Zahlen erhalten und die Stelle wo verglichen werden soll
Code:
static int counter =0; // Soll Irgendwann per IF die Rekursion unterbrechen aber ist auch irgendwie unsinn
static int substringStart=0; // Schneidet die Ziffer an der richtigen Stelle raus
static int substringEnd=1;

    public static int[] sort(int[] zahlen, int ziffer) {
        String formatierterString = null; // Da die Zahlen die Form 00000 haben müssen wandle ich alle in ein String der Form 00000 dann hole ich mir die richige Ziffer als String und wandle es wieder zurück 
        int[][] ablageFach = new int[10][0];

        for (int i = 0; i < zahlen.length; i++) {
            formatierterString = formatierterString.format("%05d \n", zahlen[i]);
            String legeInsFachString = formatierterString.substring(substringStart, substringEnd);
            int legeAufAbstellplatzNR = Integer.valueOf(legeInsFachString);


            ablageFach[legeAufAbstellplatzNR] = legeInFach(ablageFach[legeAufAbstellplatzNR], zahlen[i]);


        }
     
        substringStart++; //
        substringEnd++;
        

        return sort(ablageFach[counter], ziffer);
    }
Code:
    /*
     * Kopiert den Inhalt von einem Array in einen grösseren und fügt eine Zahl zu
     * Diese Methode zu schreiben war Teil der Aufgabe
     */
    public static int[] legeInFach(int[] abstellplatz, int zahl) {
        int[] vergroesserterAbstellplatz = Arrays.copyOf(abstellplatz, abstellplatz.length + 1);
        vergroesserterAbstellplatz[vergroesserterAbstellplatz.length - 1] = zahl;

        return vergroesserterAbstellplatz;
    }
    }
 
Zuletzt bearbeitet von einem Moderator:

MChrista

Mitglied
Das int-array muss auf [10][1] gesetzt werden. mit 0 hast du gar keine Felder.

Ich glaube einen sortier-Algorithmus kansst dir selber überlegen. Ist beim Array aber ziemlich aufwändig.
 

Bleiglanz

Gesperrter Benutzer
mach das rekursiv

nimm deine int's, sortiere sie und verwandle das in ein array von Strings mit fester Länge (führende Nullen)

dann bleibt die Sortierung immer richtig, auch wenn später abgeschnitten wird und du kannst das vergessen

dann machst du einem Baum, wobei jeder Knoten eine Liste von Kindern hat (für "0", für "1", für "2", ...)

Java:
public class Knoten {

    private List<Knoten> kinder = new ArrayList<Knoten>();

    private List<String> zahlen = new ArrayList<String>();

    public Knoten(Knoten parent, List<String> azahlen) {

        // erfasse die liste der Strings
        this.zahlen = azahlen;

        // Map: erstes Zeichen zu Liste von Strings
        HashMap<String, List<String>> map = new HashMap<String, List<String>>();

        // Map befüllen
        for (String s : this.zahlen) {
            if (s.length() > 1) {
                String key = String.valueOf(s.charAt(0));
                if (map.containsKey(key)) {
                    map.get(key).add(s.substring(1));
                } else {
                    List<String> value = new ArrayList<String>();
                    value.add(s.substring(1));
                    map.put(key, value);
                }
            }
        }

        for (String key : map.keySet()) {
            kinder.add(new Knoten(this, map.get(key)));
        }
    }

    public void drucke() {
        System.out.print("KNOTEN: ");
        for (String s : this.zahlen)
            System.out.print(s+",");
        System.out.println();
        for (Knoten kind : this.kinder)
            kind.drucke();
    }
}
erzeugen kannst du das dann ganz einfach
Java:
        Knoten k = new Knoten(null,Arrays.asList(new String[]{"123","124","125","223","224"}));
 
Zuletzt bearbeitet:

Mikrowelle

Bekanntes Mitglied
Ich habe das jetzt endlich gelöst.
Meine letzte Frage ist, dieses Vefahren ist es zufällig das "Radix Exchange Sort" ?

Ich habe alle VErfahren die es in Wikipedia gibt durchgelesen und das Klingt sehr ähnlich dem was ich machen musste. Bin mir aber nicht sicher.

UPDATE: Die Lösung werde ich nächsten Freitag veröffentlichen können
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Mehrere Spalten mit Comparator sortieren Java Basics - Anfänger-Themen 2
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
J HashSet mit Comparable sortieren Java Basics - Anfänger-Themen 13
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
O Sortieren mit Insertion Sort Java Basics - Anfänger-Themen 3
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
Jambolo Karten sortieren nach Rang und Farbe Java Basics - Anfänger-Themen 5
rosima26 Java nach letzter Ziffer sortieren Java Basics - Anfänger-Themen 19
H Kompliziertes Sortieren einer ArrayList mit Objekten(Sortieren nach X und Y) Java Basics - Anfänger-Themen 11
K verschiedene Eingaben sortieren Java Basics - Anfänger-Themen 6
G zweidimensionales int Array sortieren Java Basics - Anfänger-Themen 57
K Java sortieren. Java Basics - Anfänger-Themen 7
D Array Elemente sortieren in aufsteigender Reihenfolge Java Basics - Anfänger-Themen 10
J Tabelle Sortieren Java Basics - Anfänger-Themen 48
rafi072001 Sortieren einer HashMap nach Values Java Basics - Anfänger-Themen 2
L Sortieren Java Basics - Anfänger-Themen 1
C Wie 2 Arrays zusammenfügen und sortieren? Java Basics - Anfänger-Themen 11
C ArrayList sortieren nach bestimmten Buchstaben in den Wörtern Java Basics - Anfänger-Themen 13
javaluke Erste Schritte Array nach Datentyp sortieren Java Basics - Anfänger-Themen 16
O 2D-Array nach einer Spalte sortieren Java Basics - Anfänger-Themen 22
C Sortieren einer ArrayList Java Basics - Anfänger-Themen 2
A Teilarrays eines 2D-Arrays sortieren Java Basics - Anfänger-Themen 4
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
java3690 eine liste sortieren Java Basics - Anfänger-Themen 12
DorFey Sortieren eines mehrdimensionalen Arrays Java Basics - Anfänger-Themen 8
P Sortieren von Listen nach Attributen Java Basics - Anfänger-Themen 3
W Personen sortieren mit Comparator Java Basics - Anfänger-Themen 9
U Objekte in einer LinkedList sortieren Java Basics - Anfänger-Themen 5
B HashMap alphabetisch sortieren Java Basics - Anfänger-Themen 2
S Streams - Abfrage absteigend sortieren Java Basics - Anfänger-Themen 11
V Collections ArrayList mit Comparator sortieren Java Basics - Anfänger-Themen 16
V Collections int Werte in einer Liste sortieren Java Basics - Anfänger-Themen 23
L Array sortieren Java Basics - Anfänger-Themen 4
L Java Int-Array, Zahlen sortieren Java Basics - Anfänger-Themen 8
T Java: Array monat absteigend sortieren? Java Basics - Anfänger-Themen 1
B Liste sortieren? Java Basics - Anfänger-Themen 4
P Array Sortieren mit boolean? Java Basics - Anfänger-Themen 33
scratchy1 Array sortieren und dann String-Repräsentation ausgeben Java Basics - Anfänger-Themen 2
O Arrays sortieren in einer Methode Java Basics - Anfänger-Themen 2
E Methoden 2 Arrays sortieren (MergeSort) Java Basics - Anfänger-Themen 3
B Suchen und sortieren Java Basics - Anfänger-Themen 10
F Zahlen im Feld sortieren + Unterprogramm Java Basics - Anfänger-Themen 4
O Zweidimensional Array sortieren Java Basics - Anfänger-Themen 14
J Liste,Queue,Stack sortieren Java Basics - Anfänger-Themen 2
CptK Variablen Teile eines Arrays zufällig sortieren Java Basics - Anfänger-Themen 7
K Methoden Array[][] sortieren Java Basics - Anfänger-Themen 30
CptK Datentypen Integer ArrayList sortieren Java Basics - Anfänger-Themen 2
E ArrayList sortieren Java Basics - Anfänger-Themen 16
L Methode zum sortieren Java Basics - Anfänger-Themen 1
L Methode zum sortieren Java Basics - Anfänger-Themen 1
B Sortieren mit Iterator Java Basics - Anfänger-Themen 4
B Wie kann ich die Buchstaben sortieren nach der Höhe der Zahlen Java Basics - Anfänger-Themen 14
A Sortieren ausgerechneter Werte aus einer TXT Datei Java Basics - Anfänger-Themen 8
E LMC (Assembler) Sortieren von 3 Zahlen Java Basics - Anfänger-Themen 4
J String, Int und double Array sortieren Java Basics - Anfänger-Themen 16
F Liste nach einer Variablen sortieren Java Basics - Anfänger-Themen 6
A Array sortieren Java Basics - Anfänger-Themen 1
N StringArray alphabetisch sortieren Java Basics - Anfänger-Themen 4
Tommy135 Erste Schritte JavaDoc Sortieren Java Basics - Anfänger-Themen 5
R Winkel berechnen bzw. Geraden sortieren Java Basics - Anfänger-Themen 33
L (Integer) Liste nach aufsteigender Summe der Ziffern sortieren (mit Bedingung) Java Basics - Anfänger-Themen 8
F HashMap sortieren <String, Long> Java Basics - Anfänger-Themen 3
D Arraylisten sortieren bitte um Hilfe Java Basics - Anfänger-Themen 4
informatikschüler21 String im Array sortieren Java Basics - Anfänger-Themen 4
U Methoden Zweidimensionales Array mit Arrays.sort sortieren? Java Basics - Anfänger-Themen 22
M Arrays sortieren und kleinster Abstand Java Basics - Anfänger-Themen 3
R Interface Eigene Objekte in Listen sortieren mit Interface Comparable Java Basics - Anfänger-Themen 5
N TreeMap alphabetisch sortieren? Java Basics - Anfänger-Themen 3
I <List> sortieren Java Basics - Anfänger-Themen 2
F Interface Nach mehreren Kriterien sortieren Java Basics - Anfänger-Themen 2
R Objekte Vergleichen und Sortieren Java Basics - Anfänger-Themen 3
I Sortieren nach Priorität Java Basics - Anfänger-Themen 3
S List<T<X,Y> sortieren Java Basics - Anfänger-Themen 5
W Array sortieren Java Basics - Anfänger-Themen 3
C JList Einträge nach Datum sortieren Java Basics - Anfänger-Themen 3
Alex/89 Werte einer .txt Datei sortieren Java Basics - Anfänger-Themen 8
N Bubble Sort sortieren mit Int Werte Java Basics - Anfänger-Themen 8
N Collection sortieren/ filtern Java Basics - Anfänger-Themen 7
C Methoden Einfach verkette Liste - int Werte aufsteigend sortieren Java Basics - Anfänger-Themen 1
P Listen sortieren mit Binärbaum gibt keine Ausgabe ab 10000 Integern Java Basics - Anfänger-Themen 14
S array sortieren Java Basics - Anfänger-Themen 7
D Array mit Zufallszahlen, dann sortieren: Hilfe gesucht! Java Basics - Anfänger-Themen 1
D Methoden int-Array absteigend sortieren Java Basics - Anfänger-Themen 8
C Chars in einem String alphabetisch sortieren Java Basics - Anfänger-Themen 1
C OOP array Sortieren ohne den sort Befehl Java Basics - Anfänger-Themen 10
S int-Array mittels Arrays.sort() in einer Schleife sortieren. Java Basics - Anfänger-Themen 2
J Sortieren Java Basics - Anfänger-Themen 21
O Erste Schritte TreeMap nach Value sortieren Java Basics - Anfänger-Themen 2
K Collections Sortieren nach zweiter Spalte in JTable Java Basics - Anfänger-Themen 18
H Strings vergleichen & sortieren Java Basics - Anfänger-Themen 20
J Ungewolltes Sortieren eines Arrays Java Basics - Anfänger-Themen 4
T Collections Sortieren von Automodellen (v.a. BMW und Mercedes) Java Basics - Anfänger-Themen 3
P Liste sortieren verschiedener generischer Typen Java Basics - Anfänger-Themen 4
D Erste Schritte array aufsteigend sortieren und ausgeben Java Basics - Anfänger-Themen 17

Ähnliche Java Themen


Oben