C++/C99ADT: Re-implemention linkedlist