Двойной связанный список - это структура (структура или класс) с указателями на предыдущую и следующую ссылку.В дополнение к этим указателям вы можете добавить произвольные данные, которые можно считать полезной нагрузкой.Там вы можете поместить любые данные, которые вы хотите.Вот пример:
class Card {
public:
// Constructor
Card(int rank, int suit, Card* prev=NULL)
{
if (prev)
{
m_prev = prev;
prev->m_next = this;
}
m_prev = prev;
m_rank = rank;
m_suit = suit;
}
// Accessors
int Rank() { return m_rank; }
int Suit() { return m_suit; }
Card* Prev() { return m_prev; }
Card* Next() { return m_next; }
private:
int m_rank, m_suit;
Card *m_prev, *m_next;
}