Aufgabe Übung 7.1 CountingSort

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Aufgabe Übung 7.1 CountingSort
Servus, ich mach grad die Übungen nochmal durch und bin gerade bei der CountingSort Aufgabe.
Da heißt es am Anfang man solle die “Matrizen” counts, columnSums und prefixes mit einer Zeile pro Thread und einer Spalte pro Element initialisieren.
Allerdings sind diese schon als Eindimensionale-Atomic-Integer-Arrays definiert.

also z.B. public AtomicIntegerArray[] counts;

Wie genau soll es da jetzt Spalten und Zeilen geben? Nachdem es ein Integer Array ist kann ich ja auch in die Einträge von counts nicht nochmal IntegerArrays reinschreiben. Hat da jemand nen Plan was gemeint is?


Die sind als eindimensionale Arrays definiert.
Initialisierung ist was mit counts = new … :smiley:


Ja ja schon klar :smiley:
Das Problem das ich habe ist das in der Angabe von Matrizen mit 2 Dimensionen gesprochen wird. wenn die mit
public AtomicIntegerArray[][] counts;
definiert wären wär alles gut.
Oder interpretiere ich jetzt deine Antwort falsch?


Die Klasse heisst AtomicIntegerArray. Hiervon hast du jetzt wieder ein Array. Das klingt dann doch schon fast zweidimensional…


Das is schon 2-dimensional :wink: Ein AtomicIntegerArray ist natuerlich auch ein Array.

counts = new AtomicIntegerArray[irgendwas];
for (int i = 0; i < irgendwas; i++) {
   counts[i] = new AtomicIntegerArray(ArrayGroesse);
}

Zum Vergleich mit einem AtomicInteger[][]-Array:

counts2= new AtomicInteger[irgendwas][ArrayGroesse];
for (int i = 0; i < irgendwas; i++) {
  for (int j = 0; j < ArrayGroesse; j++) {
    counts2[i][j] = new AtomicInteger(0);
  }
}

edit: Typos im Code behoben :wink:


Ah ja das hatte ich auch Versucht gehabt, aber Eclipse sagt mir hier da würde ein Typ Missmatch vorliegen.
Da heißt es er könne nicht von AtomicIntegerArray[] zu AtomicIntegerArray converten. Was immer das auch bedeutet.
Ich dachte eben, dass sich das darauf bezieht das es eben ein “Integer”-Array ist in das ich eben keine Arrays sondern nur Integer Werte reinschreiben kann.


Moment mal das geht ja mit Integern bei mir auch nicht. Irgendwie hab ich da was verbockt.


Ah, ez gehts. Keine Ahnung warum. Also ich lerne daraus: Ich kann scheinbar auch AtomicIntegerArrays in AtomicIntegerArrays einfügen, und sollte manchmal den Code einfach nochmal eintippen wenn er nicht geht. Faszinierend …

Danke euch allen für die Tipps!