void N2FNewsManager::SortByDate() { VList tempList; while (messages->Size()) { tempList.PushBack(*(messages->Begin())); messages->Erase(messages->Begin()); } while (tempList.Size()) { VList::Iterator maxIt; N2FMessage *curMax = NULL; for (VList::Iterator it = tempList.Begin(); it != tempList.End(); it++) { N2FMessage *tmp = (N2FMessage*)(*it); if (!curMax || IsHigher(curMax, tmp)) { curMax = tmp; maxIt = it; } } messages->PushBack(curMax); tempList.Erase(maxIt); } }