Guest User

Untitled

a guest
Apr 25th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.56 KB | None | 0 0
  1. using System;
  2.  
  3. namespace P18.QuickSort
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.  
  10.             int[] unsorted = { 10,9,8,6,7,5,3,1,2,0};
  11.      
  12.             for (int i = 0; i < unsorted.Length; i++)
  13.             {
  14.                 Console.Write(unsorted[i] + " ");
  15.             }
  16.             Console.WriteLine();
  17.      
  18.             Quicksort(unsorted, 0, unsorted.Length - 1);
  19.        
  20.             for (int i = 0; i < unsorted.Length; i++)
  21.             {
  22.                 Console.Write(unsorted[i] + " ");
  23.             }
  24.             Console.WriteLine();
  25.         }
  26.         public static void Quicksort(int[] elements, int left, int right)
  27.         {
  28.             int i = left, j = right;
  29.             int pivot = elements[(left + right) / 2];
  30.             while (i <= j)
  31.             {
  32.                 while (elements[i].CompareTo(pivot) < 0)
  33.                 {
  34.                     i++;
  35.                 }
  36.                 while (elements[j].CompareTo(pivot) > 0)
  37.                 {
  38.                     j--;
  39.                 }
  40.                 if (i <= j)
  41.                 {                
  42.                     int tmp = elements[i];
  43.                     elements[i] = elements[j];
  44.                     elements[j] = tmp;
  45.                     i++;
  46.                     j--;
  47.                 }
  48.             }
  49.             if (left < j)
  50.             {
  51.                 Quicksort(elements, left, j);
  52.             }
  53.             if (i < right)
  54.             {
  55.                 Quicksort(elements, i, right);
  56.             }
  57.         }
  58.     }
  59. }
Add Comment
Please, Sign In to add comment