快速排序Java实现

public class QuickSort {

   public static void main(String[] args) {
      int[] array = new int[] { 23, 33, 11, 2, 11, 3, 12, 3, 12, 11, 0, 33, 44, 12 };
      System.out.println("starting array = [" + Arrays.toString(array) + "]");

      quickSort(array, 0, array.length - 1);

      System.out.println("ending array = [" + Arrays.toString(array) + "]");
   }

   private static void quickSort(int[] array, int start, int end) {
      int left = start;
      int right = end;
      int tip = array[left];
      while (left != right) {
         while (right > left && array[right] >= tip) {
            right--;
         }
         array[left] = array[right];

         while (left < right && array[left] <= tip) {
            left++;
         }
         array[right] = array[left];
      }
      array[left] = tip;

      if (left > start) {
         quickSort(array, start, left - 1);
      }
      if (left < end) {
         quickSort(array, left + 1, end);
      }
   }

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值