Comment by diath

Comment by diath 8 hours ago

1 reply

This was the original sort function (it was meant to force "last" to be first on the list after the sort which obviously violated the requirement):

  std::sort(entries.begin(), entries.end(), [&last] (const auto &a, const auto &b) {
    if (last && last->getID() == a.id) {
      return true;
    }

    return a.time < b.time;
  });
monkeyelite 4 hours ago

Interesting… I’m sure you resolved this. But the textbook solution is:

1. std::find last

2. std::iter_swap(first, found)

3. std::sort(front + 1, back)