用Java实现快速排序

xiaoxiao2021-03-01  20

package FirstDay;

public class QuickSort {      public static void Sort(Integer[]array,int left,int right){         if(left>right) {//递归退出条件         return;         }         int tmp=array[left];         int i=left;         int j=right;         while(i<j) {         //当i,j满足条件时,进行比较             while(array[j]>array[i]) {                 j--;             }             while(array[i]<array[j]) {                 i++;             }             if(i<j) {                 int p=array[i];                 array[i]=array[j];                 array[j]=p;                 i++;                 j--;             }         }         int p=array[i];         array[i]=tmp;         tmp=p;         Sort(array, left, i-1);    //递归调用,比较前半部分         Sort(array, i+1, right);//递归调用,比较后半部分                  }     public static void main(String[] args) {          Integer []array={1,2,5,8,9,5,234,57};         Sort(array, 0, array.length-1);         for(int i=0;i<array.length;i++) {             System.out.println(array[i]);         }     }

}  

转载请注明原文地址: https://www.6miu.com/read-4150224.html

最新回复(0)