dimanche 3 mai 2015
Arbeiten mit Lists
Posted on 13:40 by verona
Hallo! Ich muss eine rotate() Methode schreiben, die je drei Elemente in einer LinkedList rotiert. Aus " a b c d e f g h i j k " wird also " c a b f d e i g h j k ". Ich habe einen Code aber leider spinnt der rum.. Ich verzweifle langsam da ich seit zwei Tagen dran sitze. Das Problem ist das Erstellen des neuen Zeigers hinter der ersten Dreiergruppe.
Bin ein absoluter Anfänger. Muss es einmal Iterativ und einmal rekusriv machen. Mein Code:
Wenn ich folgendes durchlaufen lasse: ListItem[Ada, Bernhard, Charles, Domian, Eduard, Ferdinant, Yasen, Zora]
Erhalte ich: ListItem[Ada, Bernhard, Ferdinant, Yasen, Zora]
Bin ein absoluter Anfänger. Muss es einmal Iterativ und einmal rekusriv machen. Mein Code:
Code:
public void rotateTriplesIter() {
int count = 0;
ListItem<T> temp = first;
ListItem<T> temp2 = null;
ListItem<T> buffer = null;
for (ListItem<T> p = first; p != null; p = p.next) {
count = count + 1;
}
for (int i = 0; i <= count; i++){
if (i % 3 == 0){
if ( temp != null && temp.next != null && temp.next.next != null) {
temp2 = temp.next;
buffer = temp2.next;
temp2.next = buffer.next;
buffer.next = temp;
}
}
}
}
Erhalte ich: ListItem[Ada, Bernhard, Ferdinant, Yasen, Zora]
Arbeiten mit Lists
Categories: Arbeiten mit Lists
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire