ну руками смотри в сторону связанных списков =)
он чо-то типа этого:
template<typename _Ty>
class LinkedList
{
public:
LinkedList * _prev;
_Ty _data;
LinkedList * _next;
};
методы нужные сам напишешь =)
З.Ы. ммм, а зачем вообще те руками писать? =) чем стандартные не устраивают?