neuer QuickSortDaniel
This commit is contained in:
@@ -11,44 +11,51 @@ namespace WorldOfPeacecraft
|
||||
public QuickSortDaniel(IList<T> SortFiles)
|
||||
{
|
||||
this.SortFiles = SortFiles;
|
||||
doSort();
|
||||
doSort(0, SortFiles.Count-1);
|
||||
}
|
||||
|
||||
private void doSort()
|
||||
private void doSort(int start, int end)
|
||||
{
|
||||
int size = SortFiles.Count;
|
||||
T pivot;
|
||||
T comparer;
|
||||
int pivotpos = 0;
|
||||
int comppos = size - 1;
|
||||
|
||||
pivot = SortFiles[pivotpos];
|
||||
comparer = SortFiles[comppos];
|
||||
|
||||
while (pivotpos != comppos)
|
||||
if (start != end)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (comppos > pivotpos)
|
||||
{
|
||||
comppos = comppos - 1;
|
||||
comparer = SortFiles[comppos];
|
||||
}
|
||||
else
|
||||
{
|
||||
comppos = comppos + 1;
|
||||
comparer = SortFiles[comppos];
|
||||
}
|
||||
} while (pivot < comparer);
|
||||
|
||||
int tmp = comppos;
|
||||
SortFiles[comppos] = pivot;
|
||||
SortFiles[pivotpos] = comparer;
|
||||
pivotpos = comppos;
|
||||
comppos = tmp;
|
||||
int size = SortFiles.Count;
|
||||
T pivot;
|
||||
T comparer;
|
||||
int pivotpos = start;
|
||||
int comppos = end;
|
||||
|
||||
pivot = SortFiles[pivotpos];
|
||||
comparer = SortFiles[comppos];
|
||||
|
||||
while (pivotpos != comppos)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (comppos > pivotpos)
|
||||
{
|
||||
comppos = comppos - 1;
|
||||
comparer = SortFiles[comppos];
|
||||
}
|
||||
else
|
||||
{
|
||||
comppos = comppos + 1;
|
||||
comparer = SortFiles[comppos];
|
||||
}
|
||||
} while (pivot < comparer);
|
||||
|
||||
int tmp = comppos;
|
||||
SortFiles[comppos] = pivot;
|
||||
SortFiles[pivotpos] = comparer;
|
||||
pivotpos = comppos;
|
||||
comppos = tmp;
|
||||
}
|
||||
doSort(start, pivotpos-1);
|
||||
doSort(pivotpos+1, end);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private IList<T> getSortedList()
|
||||
{
|
||||
return SortFiles;
|
||||
|
||||
Reference in New Issue
Block a user