Why are you rolling your own linked list? Why not use std::list
?
If it's for the double-sorting thing, two separate lists of pointers would work, and be a hell of a lot easier if you can then use the provided container classes.
Or alternatively, if you need to sort it, is a linked list the best option? std::vector
is often easier for sorting, or std::set
maintains the order itself.