Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class QuickSort {
- public static void sort(int array[],int left,int right) {
- int mid = array[left + (right - left) / 2]; //выбор опорного элемента
- int i=left,j=right;
- //разделение массива по центральному элементу
- while (i <= j) {
- while (array[i] < mid) i++; // пропускаем значения которые не нужно перемещать (от левой части до опорного)
- while (array[j] > mid) j--; // пропускаем значения которые не нужно перемещать (от правой части до опорного)
- if (i <= j) {
- int temp=array[i]; //меняем значения местами
- array[i]=array[j];
- array[j]=temp;
- i++;
- j--;
- }
- }
- //
- //Если в правой части больше 1 элемента , выполняем ее сортировку
- if (i < right)
- sort(array,i, right);
- //Если в левой части больше 1 элемента , выполняем ее сортиров
- if (left < j)
- sort(array,left, j);
- }
- public static void main(String Args[]){
- int [] array={1,53,4,3,41,56,45,68,15,46,64,5,6,8,51,33,54};
- QuickSort.sort(array,0, array.length-1);
- for (int i=0;i<array.length;i++){
- System.out.print(array[i]+" ");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement