Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace P18.QuickSort
- {
- class Program
- {
- static void Main(string[] args)
- {
- int[] unsorted = { 10,9,8,6,7,5,3,1,2,0};
- for (int i = 0; i < unsorted.Length; i++)
- {
- Console.Write(unsorted[i] + " ");
- }
- Console.WriteLine();
- Quicksort(unsorted, 0, unsorted.Length - 1);
- for (int i = 0; i < unsorted.Length; i++)
- {
- Console.Write(unsorted[i] + " ");
- }
- Console.WriteLine();
- }
- public static void Quicksort(int[] elements, int left, int right)
- {
- int i = left, j = right;
- int pivot = elements[(left + right) / 2];
- while (i <= j)
- {
- while (elements[i].CompareTo(pivot) < 0)
- {
- i++;
- }
- while (elements[j].CompareTo(pivot) > 0)
- {
- j--;
- }
- if (i <= j)
- {
- int tmp = elements[i];
- elements[i] = elements[j];
- elements[j] = tmp;
- i++;
- j--;
- }
- }
- if (left < j)
- {
- Quicksort(elements, left, j);
- }
- if (i < right)
- {
- Quicksort(elements, i, right);
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment