03. public int patition(int low,int high,int arr[])
04. {
05. int start=arr[low];
06. while(low<high)
07. {
08. while(low<high&&arr[high]>start)high--;
09. if(low<high){arr[low]=arr[high];low++;}
10. while(low<high&&arr[low]<start)low++;
11. if(low<high){arr[high]=arr[low];high--;}
12. }
13. arr[low]=start;
14. return low;
15. }
16.
17. public void sort(int low,int high,int arr[])
18. {
19.
20. if(low<high)
21. {
22. int h=patition(0,arr.length-1,arr);
23. sort(0,h-1,arr);
24. sort(h+1,arr.length-1,arr);
25. }
26. }
27.}
复制代码
执行的时候老出现
Exception in thread "main" java.lang.StackOverflowError
at com.sort.QuickSort.sort(Sort.java:65)
at com.sort.QuickSort.sort(Sort.java:67)这个错误提示,当数组小的是还行,稍微大点就出现错误,求大神指点迷津