Advertisement
Margoshinka

быстрая сорт

Oct 12th, 2022
591
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.53 KB | None | 0 0
  1.  static  void quickSort1(int[] array, int start, int end)
  2.         {
  3.  
  4.  
  5.             int i = start, j = end-1;      // поставить указатели на исходные места
  6.  
  7.             int p = array[(start + end)/2];
  8.             int temp;
  9.  
  10.             // процедура разделения
  11.             do
  12.             {
  13.                 while (array[i] < p) i++;
  14.                 while (array[j] > p) j--;
  15.  
  16.                 if (i <= j)
  17.                 {
  18.                     temp = array[i]; array[i] = array[j]; array[j] = temp;
  19.                     i++; j--;
  20.                 }
  21.             } while (i <= j);
  22.  
  23.             if (j > 0) quickSort1(array, start, j);
  24.             if (end > i) quickSort1(array, start + i, end-i);
  25.            
  26.         }
  27.         static void quickSort2(int[] array, int start, int end)
  28.         {
  29.  
  30.  
  31.             int i = start, j = end-1;      // поставить указатели на исходные места
  32.  
  33.             int p = array[1];
  34.             int temp;
  35.  
  36.             // процедура разделения
  37.             do
  38.             {
  39.                 while (array[i] < p) i++;
  40.                 while (array[j] > p) j--;
  41.  
  42.                 if (i <= j)
  43.                 {
  44.                     temp = array[i]; array[i] = array[j]; array[j] = temp;
  45.                     i++; j--;
  46.                 }
  47.             } while (i <= j);
  48.  
  49.             if (j > 0) quickSort2(array, start, j);
  50.             if (end > i) quickSort2(array, start + i, end-i);
  51.            
  52.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement