快速排序无法返回相同的数组

quick sort not working returning same array

部分方法没有执行任何操作,它输出与输入相同的数组,我不知道出了什么问题

void part(int array[100], int start, int end){
  int pivot = array[start];
  int i = start;
  int j = end;
  int temp, temp2;
  // i to swap elements greater than pivot
  // j to swap elements less than or equal to pivot
  while(i > j){
    while(true){
      if(array[i] <= pivot ){
        break;
      }
      ++i;
    }
    while(array[j] > pivot){
      if(array[j] > pivot){
        break;
      }
      --j;
    }
    if(i < j){
      temp = array[i];
      array[i] = array[j];
      array[j] = temp;
    }
  }
  if(j < i){                                    // j - i cross each other
    temp2 = pivot;
    pivot = array[j];
    pivot = temp2;
  }

  for(int k = 0; k<end;++k){
    cout<<array[k];
  }


}

void quick(int array[100], int start, int end){
  if(start < end){
    part(array, start, end);
  }


}

只有在

时才调用part
if(start < end){
    part(array, start, end);

但后来你做到了

int i = start;
int j = end;

while(i > j){

因此,预计这将无济于事。 while永远不会进入。