黑马程序员技术交流社区

标题: 快速排列的问题,谁能给我好好讲讲! [打印本页]

作者: ck1993    时间: 2016-3-16 18:38
标题: 快速排列的问题,谁能给我好好讲讲!
下面是代码!第一次发帖子,多多见谅!
public class quickSort {
public static void main(String[] args) {
  int[] arr = { 1, 23, 4, 3, 55, 667 };
  quickSort(arr, 0, 5);
  print(arr);
}
public static final void quickSort(int[] array, int start, int end) {
  int i = start, j = end;
  int pivot = array; // 取第1个元素为基准元素
  int emptyIndex = i; // 表示空位的位置索引,默认为被取出的基准元素的位置
  while (i < j) {  // 助手2开始从右向左一个个地查找小于基准元素的元素
   while (i < j && pivot <= array[j])
    j--;
   if (i < j) {
    array[emptyIndex] = array[emptyIndex = j];
   }
   while (i < j && array <= pivot)
    i++;
   if (i < j) {
    array[emptyIndex] = array[emptyIndex = i];
   }
  }
  array[emptyIndex] = pivot;
  if (i - start > 1) {
   quickSort(array, 0, i - 1);
  }
  if (end - j > 1) {
   quickSort(array, j + 1, end);
  }
}
public static void print(int[] arr) {
  for (int i = 0; i < arr.length; i++) {
   System.out.println(arr + " ");
  }
}
}


作者: a670987122    时间: 2016-3-16 20:37
赞赞赞赞赞赞




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2