Problem mit einach verketteter Liste..



  • kein wunder, dass du keine ausgabe bekommst. du gibst ja auch nichts aus

    hier mal ein einfaches grundgerüst:

    #include <cassert>
    
    template <
      typename T
    >
    class my_list
    {
      struct node
      {
        node* next;
        T value;
    
        node(const T& value, node* next)
        : value(value), next(next)
        {}
      };
    
      node* first;
    
    public:
      my_list()
      : first(0)
      {}
    
      ~my_list()
      {
        clear();
      }
    
      void push_front(const T& value)
      {
        if(first == 0)
        {
          first = new node(value, 0);
        }
        node* to_add = new node(value, first);
        first = to_add;
      };
    
      T front() const
      {
        assert(!empty());
        return first->value;
      }
    
      void pop_front()
      {
        assert(!empty());
        node* to_del = first;
        first = first->next;
        delete to_del;
      }
    
      bool empty() const
      {
        return first == 0;
      }
    
      void clear()
      {
        while(!emtpy())
          pop_front();
      }
    };
    
    #include <iostream>
    int main()
    {
      my_list<int> liste;
      liste.push_front(12);
      liste.push_front(1);
    
      std::cout << liste.front() << std::endl;
      liste.pop_front();
      std::cout << liste.front() << std::endl;
    }
    

    bb


Anmelden zum Antworten