private void ParallelQuickSort(IList <int> array, int low, int high)
        {
            if (low >= high)
            {
                return;
            }

            deep++;

            var pivot = QuickSort.Partition(array, low, high);

            if (CanUseMultithreading(array, low, high))
            {
                SendToWorker(array, low, pivot - 1);
                ParallelQuickSort(array, pivot + 1, high);
            }
            else
            {
                QuickSort.Sort(array, low, pivot - 1);
                QuickSort.Sort(array, pivot + 1, high);
            }
        }
Exemplo n.º 2
0
 internal void Sort()
 {
     QuickSort.Sort(currentArray.List, 0, currentArray.List.Count - 1);
 }