- 01.class QuickSort
- 02.{
- 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)这个错误提示,当数组小的是还行,稍微大点就出现错误,求大神指点迷津
|