From 3f6a8eb9f0fd8bfbb2984b4eeb6b177665296804 Mon Sep 17 00:00:00 2001 From: Daniel Herrmann Date: Thu, 22 May 2014 11:41:15 +0200 Subject: [PATCH] Daniels QuickSort --- src/QuickSortDaniel.cs | 60 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/QuickSortDaniel.cs 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; + } + + + + } +}