Heyhey,
Bin gerade dabei eine eigene Implementierung einer Liste in Java zu schreiben, mangels Pointern auf diese Weise:
Bei der Reverse-Methode hänge ich, ich weiß zwar das Ich das Next Attribut auf den Vorgänger umzeigen lassen muss, allerdings wenn ich es einfach so mache, dann fängt er sich natürlich in einer Schleife.
Jemand ne Idee wie man das geschickt lösen kann?
Bin gerade dabei eine eigene Implementierung einer Liste in Java zu schreiben, mangels Pointern auf diese Weise:
Quellcode
- public class List<T> {
- public ListElement FirstElement;
- public List() {
- FirstElement = new ListElement(null, null);
- }
- public void add(T data) {
- if(FirstElement.Data!=null){
- ListElement nextElem = new ListElement(FirstElement.Data, FirstElement.Next);
- FirstElement.Data = data;
- FirstElement.Next = nextElem;
- }else{
- FirstElement.Data = data;
- }
- }
- public T item(int index) {
- int ind = 0;
- ListElement curr = FirstElement;
- while (ind < index) {
- curr = curr.Next;
- ind++;
- }
- return (T) curr.Data;
- }
- public int length() {
- if(FirstElement.Next==null) {return 0;}
- ListElement curr = FirstElement;
- int index = 1;
- while (curr.Next != null) {
- index++;
- curr = curr.Next;
- }
- return index;
- }
- }
Bei der Reverse-Methode hänge ich, ich weiß zwar das Ich das Next Attribut auf den Vorgänger umzeigen lassen muss, allerdings wenn ich es einfach so mache, dann fängt er sich natürlich in einer Schleife.
Jemand ne Idee wie man das geschickt lösen kann?
faxe1008