If it is a doubly link list then at each node it should satisfy the condition pNode->Next->Prev == pNode
If it is a single link list then it is bit tricky may be you need to add an extra field with each node which will indicate number of nodes after this node in the linked list. This extra field needs to be kept up-to-date when we insert or delete nodes in the linked list. And for every node, pNode->field > pNode->Next->field. This may not be the best solution so waiting for others to suggest something better.