C++/Generic/Generic List

Материал из C\C++ эксперт
Перейти к: навигация, поиск

A simple generic linked list.

#include <iostream>
using namespace std;
template <class dataType> class list {
  dataType data;
  list *next;
public:
  list(dataType d);
  void add(list *node) {
     node->next = this; 
     next = 0; 
  }
  list *getnext() { 
     return next; 
  }
  dataType getdata() { 
     return data; 
  }
};
template <class dataType> list<dataType>::list(dataType d)
{
  data = d;
  next = 0;
}
int main()
{
  list<char> start("a"); 
  list<char> *p, *last;
  int i;
  
  last = &start;
  for(i=1; i <26; i++) {
    p = new list<char> ("a" + i);
    p->add(last);
    last = p;
  }
  p = &start;
  while(p) {
    cout << p->getdata();
    p = p->getnext();
  }
  return 0;
}