Boost logo

Boost Users :

Subject: Re: [Boost-users] algorithm question
From: Peter Foelsche (foelsche_at_[hidden])
Date: 2011-07-08 22:48:40


"Peter Foelsche" <foelsche_at_[hidden]> wrote in message
news:iv8fap$5ju$1_at_dough.gmane.org...

something was missing:

> std::list<object*> sort(std::list<object*> _sList)
> { std::set<object*> sSet;
> std::list<object*> sSorted;
> while (_sList.size())
> for (std::list<object*>::iterator p = _sList.begin(), pNext = p, pEnd =
> _sList.end();
> p != pEnd;
> p = pNext)
> { ++pNext;
> bool bFound = false;
> for (std::set<object*>::const_iterator p1 =
> (*p)->m_sPredecessors.begin(), p1End = (*p)->m_sPredecessors.end();
> p1 != p1End;
> ++p1)
> if (sSet.find(*p1) == sSet.end())
> { bFound = true;
> break;
> }
> if (!bFound)
> { sSorted.push_back(*p);
                    sSet.insert(*p);
> _sList.erase(p);
> }
> }
> return sSorted;
> }


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net