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(0, SortFiles.Count-1); } private void doSort(int start, int end) { if (start != end) { 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 getSortedList() { return SortFiles; } } }