Daniels QuickSort

This commit is contained in:
Daniel Herrmann
2014-05-22 11:41:15 +02:00
parent fba120de8b
commit 3f6a8eb9f0

60
src/QuickSortDaniel.cs Normal file
View File

@@ -0,0 +1,60 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WorldOfPeacecraft
{
class QuickSortDaniel<T>
{
private IList<T> SortFiles;
public QuickSortDaniel(IList<T> SortFiles)
{
this.SortFiles = SortFiles;
doSort();
}
private void doSort()
{
int size = SortFiles.Count;
T pivot;
T comparer;
int pivotpos = 0;
int comppos = size - 1;
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;
}
}
private IList<T> getSortedList()
{
return SortFiles;
}
}
}