Witam!
Mam stworzyć listę dwukierunkową w której będą przechowywane wyrazy. Ma być posortowana rosnąco.
Poczytałem troche o tych listach dwukierunkowych. I nadal mam problemy ze zrozumieniem jak to działa. Rozumiem że są dwa wskaźniki. Jeden pokazuje na następny element, a drugi na poprzedni.

 #include <iostream>
#include <iomanip>
#include <ctime>
#include <cstdlib>

using namespace std;

struct listElement
{
  listElement * next;   // następnik
  listElement * prev;   // poprzednik
  char* wyraz;
};

class dlist
{
  public:
    listElement * head;  
    listElement * tail;  
    int count;  
};

dlist::dlist()
{
  head  = tail  = NULL;
}

ogólnie zrobiłem tyle, czyli prawie nic, mam problem jak zrobić dodanie każdego elementu(pobrany wyraz z klawiatury) uwzględniając sortowanie rosnąco.

Z góry dzięki za jakąkolwiek pomoc :d