diff --git a/src/QuickSortDaniel.cs b/src/QuickSortDaniel.cs new file mode 100644 index 0000000..17b810a --- /dev/null +++ b/src/QuickSortDaniel.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace WorldOfPeacecraft +{ + class QuickSortDaniel + { + private IList SortFiles; + public QuickSortDaniel(IList 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 getSortedList() + { + return SortFiles; + } + + + + } +}