Advertisement
Sim0o0na

Untitled

Jan 10th, 2017
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Qicksort
  8. {
  9. class Program
  10. {
  11. public static void QuickSort(int[] numbers, int left, int right)
  12. {
  13. int i = left;
  14. int j = right;
  15.  
  16. int pivot = numbers[(left + right) / 2];
  17. while (true)
  18. {
  19. while (numbers[i] < pivot)
  20. {
  21. i++;
  22. }
  23. while (pivot < numbers[j])
  24. {
  25. j--;
  26. }
  27. while (i <= j)
  28. {
  29. int temp = numbers[i];
  30. numbers[i] = numbers[j];
  31. numbers[j] = temp;
  32. i++;
  33. j--;
  34. }
  35. if (i > j)
  36. {
  37. break;
  38. }
  39. }
  40. if (left < j)
  41. {
  42. QuickSort(numbers, left, j);
  43. }
  44. if (i < right)
  45. {
  46. QuickSort(numbers, i, right);
  47. }
  48. }
  49. static void Main(string[] args)
  50. {
  51. Console.WriteLine("Enter lenght of the array: ");
  52. int lenght = int.Parse(Console.ReadLine());
  53. int[] numbers = new int[lenght];
  54.  
  55. for(int i = 0; i < lenght; i++)
  56. {
  57. numbers[i] = int.Parse(Console.ReadLine());
  58. }
  59.  
  60. QuickSort(numbers, 0, numbers.Length - 1);
  61. Console.WriteLine(string.Join(" ", numbers));
  62. }
  63. }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement