SortStringArray.cpp
上传用户:httpyym
上传日期:2007-01-02
资源大小:38k
文件大小:1k
源码类别:

TreeView控件

开发平台:

Visual C++

  1. // SortStringArray.cpp: Implementierung der Klasse CSortStringArray.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "SortStringArray.h"
  6. #ifdef _DEBUG
  7. #undef THIS_FILE
  8. static char THIS_FILE[]=__FILE__;
  9. #define new DEBUG_NEW
  10. #endif
  11. //////////////////////////////////////////////////////////////////////
  12. // Konstruktion/Destruktion
  13. //////////////////////////////////////////////////////////////////////
  14. void CSortStringArray::Sort()
  15. {
  16. BOOL bNotDone = TRUE;   
  17. while (bNotDone)   
  18. {      bNotDone = FALSE;
  19.       for(int pos = 0;pos < GetUpperBound();pos++)
  20.         bNotDone |= CompareAndSwap(pos);   
  21. }
  22. }
  23. BOOL CSortStringArray::CompareAndSwap( int pos )
  24. {
  25.    CString temp;   
  26.    int posFirst = pos;   
  27.    int posNext = pos + 1;
  28.    if (GetAt(posFirst).CompareNoCase(GetAt(posNext)) > 0)   
  29.    {
  30.       temp = GetAt(posFirst);      
  31.   SetAt(posFirst, GetAt(posNext));
  32.       SetAt(posNext, temp);      
  33.   return TRUE;   
  34.    }   
  35.    
  36.    return FALSE;
  37. }