A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马不黑 中级黑马   /  2014-1-13 10:21  /  776 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. 01.class QuickSort

  2. 02.{

  3. 03. public int patition(int low,int high,int arr[])

  4. 04. {

  5. 05. int start=arr[low];

  6. 06. while(low<high)

  7. 07. {

  8. 08. while(low<high&&arr[high]>start)high--;

  9. 09. if(low<high){arr[low]=arr[high];low++;}

  10. 10. while(low<high&&arr[low]<start)low++;

  11. 11. if(low<high){arr[high]=arr[low];high--;}

  12. 12. }

  13. 13. arr[low]=start;

  14. 14. return low;

  15. 15. }

  16. 16.

  17. 17. public void sort(int low,int high,int arr[])

  18. 18. {

  19. 19.

  20. 20. if(low<high)

  21. 21. {

  22. 22. int h=patition(0,arr.length-1,arr);

  23. 23. sort(0,h-1,arr);

  24. 24. sort(h+1,arr.length-1,arr);

  25. 25. }

  26. 26. }

  27. 27.}
复制代码
执行的时候老出现
Exception in thread "main" java.lang.StackOverflowError   
at com.sort.QuickSort.sort(Sort.java:65)
at com.sort.QuickSort.sort(Sort.java:67)这个错误提示,当数组小的是还行,稍微大点就出现错误,求大神指点迷津

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1 神马都是浮云

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马