Facebook
From Eratic Crow, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 245
  1. using System;
  2.  
  3. namespace QuickSort
  4. {
  5. class Program
  6. {
  7. public static void QuickSort(int[] array, int left, int right)
  8. {
  9. var i = left;
  10. var j = right;
  11. var pivot = array[(left + right) / 2];
  12. while (i < j)
  13. {
  14. while (array[i] < pivot) i++;
  15. while (array[j] > pivot) j--;
  16. if (i <= j)
  17. {
  18. // swap
  19. var tmp = array[i];
  20. array[i++] = array[j];  // ++ and -- inside array braces for shorter code
  21. array[j--] = tmp;
  22. }
  23. }
  24. if (left < j) QuickSort(array, left, j);
  25. if (i < right) QuickSort(array, i, right);
  26. }
  27.  
  28. static void Main(string[] args)
  29. {
  30. var rand = new Random();
  31. var array = new int[100];
  32. for (int i = 0; i < array.Length; i++)
  33. {
  34. array[i] = rand.Next(1000);
  35. }
  36. Console.WriteLine("Before: ");
  37. Console.WriteLine(string.Join(" ", array));
  38.  
  39. QuickSort(array, 0, array.Length - 1);
  40.  
  41. Console.WriteLine("Affter: ");
  42. Console.WriteLine(string.Join(" ", array));
  43.  
  44. Console.ReadLine();
  45. }
  46. }
  47. }