Skip to content
Snippets Groups Projects
Commit a7376565 authored by Peter Bastian's avatar Peter Bastian
Browse files

insert_after, insert_before mit Referenz als Argument

[[Imported from SVN: r661]]
parent 569ba607
No related branches found
No related tags found
No related merge requests found
......@@ -38,14 +38,14 @@ namespace Dune {
// Konstruktor
template<class T>
inline DoubleLinkedList<T>::DoubleLinkedList ()
{ // ruft vorher Default_konstruktor fuer head, tail
{ // ruft vorher Default_konstruktor fuer head, tail
numelements=0;
}
// Copy-Konstruktor
template<class T>
inline DoubleLinkedList<T>::DoubleLinkedList (const DoubleLinkedList<T>& l)
{ // ruft vorher Default_konstruktor fuer head, tail
{ // ruft vorher Default_konstruktor fuer head, tail
numelements=0;
// kopiere alle Elemente der Argumentliste
for (typename DoubleLinkedList<T>::Iterator i=l.begin(); i!=l.end(); i++)
......@@ -83,7 +83,7 @@ namespace Dune {
template<class T>
inline typename DoubleLinkedList<T>::Iterator DoubleLinkedList<T>::insert_after (Iterator i, T t)
inline typename DoubleLinkedList<T>::Iterator DoubleLinkedList<T>::insert_after (Iterator i, T& t)
{
// Teste Eingabe
if (i.p==0 && head.p!=0) {std::cerr << "wo einfuegen?" << std::endl; return end();}
......@@ -117,7 +117,7 @@ namespace Dune {
}
template<class T>
inline typename DoubleLinkedList<T>::Iterator DoubleLinkedList<T>::insert_before (Iterator i, T t)
inline typename DoubleLinkedList<T>::Iterator DoubleLinkedList<T>::insert_before (Iterator i, T& t)
{
// Teste Eingabe
if (i.p==0 && head.p!=0) {std::cerr << "wo einfuegen?" << std::endl; return end();}
......
......@@ -11,17 +11,17 @@ namespace Dune {
public:
class Iterator { // Iteratorklasse zum
private: // Durchlaufen der Elemente des Containers
Element* p; // Iterator ist ein Zeiger auf ein Listenelement
Element* p; // Iterator ist ein Zeiger auf ein Listenelement
public:
Iterator();
bool operator!= (Iterator x);
bool operator== (Iterator x);
Iterator operator++ (); // prefix Stroustrup p. 292
Iterator operator++ (int); // postfix
Iterator operator-- (); // prefix
Iterator operator-- (int); // postfix
Iterator operator++ (); // prefix Stroustrup p. 292
Iterator operator++ (int); // postfix
Iterator operator-- (); // prefix
Iterator operator-- (int); // postfix
T& operator* () const;
T* operator-> () const; // Stroustrup p. 289
T* operator-> () const; // Stroustrup p. 289
friend class DoubleLinkedList<T>;
} ;
Iterator begin () const;
......@@ -34,16 +34,16 @@ namespace Dune {
~DoubleLinkedList();
DoubleLinkedList<T>& operator= (const DoubleLinkedList<T>&);
int size () const;
Iterator insert_after (Iterator i, T t);
Iterator insert_before (Iterator i, T t);
Iterator insert_after (Iterator i, T& t);
Iterator insert_before (Iterator i, T& t);
void erase (Iterator i);
private:
struct Element { // Typ fuer das Listenelement
Element* next; // Nachfolger
Element* prev; // Vorgaenger
T item; // Datum
Element (T &t); // setze next=prev=0
Element* next; // Nachfolger
Element* prev; // Vorgaenger
T item; // Datum
Element (T &t); // setze next=prev=0
};
Iterator head; // erstes Element der Liste
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment