Hallo Leute,
folgender Versuch einer LinkedList...
Node.h
Node.cpp
LinkedList.h
LinkedList.cpp
kann mir jemand sagen was hier bei act = &act.next; falsch ist und wie ich das lösen kann? Mir ist das mit dem iterieren einfach nicht klar...
folgender Versuch einer LinkedList...
Node.h
Code:
#ifndef _NODE_H_
#define _NODE_H_
#include <iostream>
class Node {
public:
int data;
Node* next;
Node(void);
Node(int);
};
#endif
Node.cpp
Code:
#include "Node.h"
Node::Node(void) {
next = NULL;
}
Node::Node(int i_data) {
data = i_data;
next = NULL;
}
LinkedList.h
Code:
#ifndef _LINKEDLIST_H_
#define _LINKEDLIST_H_
#include "Node.h"
class LinkedList {
private:
Node start;
int counter;
public:
LinkedList(void);
void add(int);
bool remove(int);
int size(void);
};
#endif
LinkedList.cpp
Code:
#include "LinkedList.h"
LinkedList::LinkedList(void) {
counter = 0;
}
void LinkedList::add(int data) {
// anzahl element inkrementieren
counter++;
// neues Element erzeugen
Node node(data);
// Liste leer?
if(start.next == NULL) {
start.next = &node;
}
// ansonsten letztes Element suchen und anfuegen
else {
// temp Node auf Anfang setzen
Node act;
act.next = start.next;
// bis zum Ende der List durchiterieren
while(act.next != NULL) {
[B]act = &act.next;[/B]
}
// Node anfuegen
act.next = &node;
}
}
kann mir jemand sagen was hier bei act = &act.next; falsch ist und wie ich das lösen kann? Mir ist das mit dem iterieren einfach nicht klar...