Advertisement
everloongg

sort

Dec 6th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.51 KB | None | 0 0
  1. void SortList( ListItem* pList, cF foo )
  2. {
  3.     ListItem *pFirst = pList;
  4.     while (pFirst->m_pNext)
  5.     {
  6.         ListItem *pMin = pFirst;
  7.         ListItem *v = pMin->m_pNext;
  8.         while (v->m_pNext)
  9.         {
  10.             if (foo( (const void*)(pMin->m_pNext), (const void*)(v->m_pNext) ) == 1)
  11.                 pMin = v;
  12.             v = v->m_pNext;
  13.         }
  14.  
  15.         if (pFirst != pMin)
  16.         {
  17.             v = pMin->m_pNext->m_pNext;
  18.  
  19.             pMin->m_pNext->m_pNext = pFirst->m_pNext;
  20.             pFirst->m_pNext = pMin->m_pNext;
  21.             pMin->m_pNext = v;
  22.         }
  23.  
  24.         pFirst = pFirst->m_pNext;
  25.     }
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement