获取索引越界异常以进行快速排序

fnatzsnv  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(204)

**已关闭。**此问题需要调试详细信息。它目前不接受答案。
**想要改进此问题?**更新问题,使其位于堆栈溢出主题上。

昨天关门了。
改进这个问题
我得到了java中快速排序代码的索引越界错误…无法找出问题所在。有人能帮忙吗?
我正在传递一个整数数组作为输入
下面是代码

public class Sorts {

//Sorting Algorithm
     public static void Quicksort(int[] A,int l,int h)
     {
if(l<h)
{

        int k = partition(A,l,h);
        Quicksort(A,l,k); // recursive call
        Quicksort(A,k+1,h); // recursive call

     }
}

//Partitioning logic

     public static int partition(int[] A,int l,int h)
     {
         int pivot = A[l];
         int i=l;
         int j=h;

         while(i<j)
         {

             while(A[i]<=pivot)
             {
                 i++;
             }

             while(A[j]>pivot)
             {
                 j--;
             }

             if(i<j)
             {
                 int temp =A[j];
                 A[j] = A[i];
                 A[i]= temp;
             }

         }
                 int temp =A[j];
                 A[j] = A[l];
                 A[l]= temp;
     return j;    

     }

// Printing the result array

     static void printArray(int A[])
{
int n = A.length;
for (int i=0; i<n; ++i)
System.out.print(A[i]+" ");

}

     public static void main(String args[])
     {
         int[] A= {80,50,30,20};
         int l =0;
         int n=A.length-1;
         Quicksort(A,l,n);  //Calls quicksort
         printArray(A);
     }
}```

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题