Java 快速排序错误

Java 快速排序错误,java,quicksort,Java,Quicksort,这是我的快速排序代码。 如果我输入[61013583211] 它打印[2 5 3 6 8 11 10 13] 谁能解释一下我的代码有什么问题吗??? 谢谢我觉得你的代码很奇怪,你把它带到哪里去了? 不管怎样,你为什么不看看这一页,看看快速排序的解释呢? 您是否尝试过逐步调试?您可以准确地看到代码中发生的情况。请尝试。没有结果….:你说没有结果是什么意思?你说它会打印出一些东西,所以很明显它会给你一个结果。没有结果意味着我无法解决问题首先,谢谢,我从《船员算法导论》一书中得到了这个算法 publ

这是我的快速排序代码。 如果我输入[61013583211] 它打印[2 5 3 6 8 11 10 13]

谁能解释一下我的代码有什么问题吗???
谢谢

我觉得你的代码很奇怪,你把它带到哪里去了? 不管怎样,你为什么不看看这一页,看看快速排序的解释呢?


您是否尝试过逐步调试?您可以准确地看到代码中发生的情况。请尝试。没有结果….:你说没有结果是什么意思?你说它会打印出一些东西,所以很明显它会给你一个结果。没有结果意味着我无法解决问题首先,谢谢,我从《船员算法导论》一书中得到了这个算法
public int partition(int[]a,int i,int j){
    int x=a[i];
    int c=i;
    for (int d = c+1; d < j; d++) {
        if (a[d]<=x) {
            c=c+1;
            exchange(a, c, d);
        }

    }
    exchange(a, c, i);
    return c;
}
public void exchange(int[]a,int c,int d){
    int temp=a[c];
    a[c]=a[d];
    a[d]=temp;
}
public void sort(int[]a,int i,int j){
    int index;
    if(i<j){
        index=partition(a, i, j);
        sort(a, i, index-1);
        sort(a,index+1, j);
    }
}

**strong text**public static void main(String[] args) {
    // TODO code application logic here
    QUICKSORT abir=new QUICKSORT();
    abir.PRINT(abir.a);
    abir.sort(abir.a, 0,10);
    abir.PRINT(abir.a);
}
int partition(int arr[], int left, int right)
{
      int i = left, j = right;
      int tmp;
      int pivot = arr[(left + right) / 2];

      while (i <= j) {
            while (arr[i] < pivot)
                  i++;
            while (arr[j] > pivot)
                  j--;
            if (i <= j) {
                  tmp = arr[i];
                  arr[i] = arr[j];
                  arr[j] = tmp;
                  i++;
                  j--;
            }
      };

      return i;
}

void sort(int arr[], int left, int right) {
      int index = partition(arr, left, right);
      if (left < index - 1)
          sort(arr, left, index - 1);
      if (index < right)
          sort(arr, index, right);
}

static int[] a = {6, 10, 13, 5, 8, 3, 2, 11};

public static void main(String[] args) {
    // TODO code application logic here
    QUICKSORT abir=new QUICKSORT();
    System.out.println(Arrays.toString(a));
    abir.sort(a, 0, 7);
    System.out.println(Arrays.toString(a));
}