neuer QuickSortDaniel

This commit is contained in:
Daniel Herrmann
2014-05-22 11:58:16 +02:00
parent 3f6a8eb9f0
commit 0828ee25fa

View File

@@ -11,16 +11,19 @@ namespace WorldOfPeacecraft
public QuickSortDaniel(IList<T> SortFiles) public QuickSortDaniel(IList<T> SortFiles)
{ {
this.SortFiles = SortFiles; this.SortFiles = SortFiles;
doSort(); doSort(0, SortFiles.Count-1);
} }
private void doSort() private void doSort(int start, int end)
{ {
if (start != end)
{
int size = SortFiles.Count; int size = SortFiles.Count;
T pivot; T pivot;
T comparer; T comparer;
int pivotpos = 0; int pivotpos = start;
int comppos = size - 1; int comppos = end;
pivot = SortFiles[pivotpos]; pivot = SortFiles[pivotpos];
comparer = SortFiles[comppos]; comparer = SortFiles[comppos];
@@ -47,7 +50,11 @@ namespace WorldOfPeacecraft
pivotpos = comppos; pivotpos = comppos;
comppos = tmp; comppos = tmp;
} }
doSort(start, pivotpos-1);
doSort(pivotpos+1, end);
} }
}
private IList<T> getSortedList() private IList<T> getSortedList()
{ {