一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 362|回复: 0
收起左侧

[学Java/C#] 关于eclipse我有一个问题

[复制链接] |试试Instant~ |关注本帖
MTC 发表于 2014-10-29 11:35:21 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
  1. /*这样是可以debug的*/
  2. package q11_5;

  3. import java.util.Arrays;

  4. public class Q11_5{

  5. public static int searchR(String[] strings,
  6.                 String str,int first,int last){
  7.         if(first>last){
  8.                
  9.                 return -1;
  10.         }

  11. int mid=(first+last)/2;
  12. if(strings[mid].isEmpty()){

  13. int left=mid-1;
  14. int right=mid+1;
  15. while(true){
  16. if(left<first&&right>last){//through so many manipulations of BS,only '' left in this array

  17.         return -1;
  18. }else if(right<=last&&!strings[right].isEmpty()){

  19.     mid=right;
  20.     break;
  21. }else if(left>=first&&!strings[left].isEmpty()){

  22. mid=left;
  23. break;


  24. }
  25. left--;
  26. right++;
  27. }
  28. }

  29. /*recursive*/

  30. if(str.equals(strings[mid])){
  31.         return mid;
  32. }else if(strings[mid].compareTo(str)<0){//search thr right part

  33. return searchR(strings,str,mid+1,last);

  34. }else{
  35.         return searchR(strings,str,first,mid-1);
  36. }
  37. }


  38. public static int search(String[] strings,String str){
  39. if(strings==null||str==null||str==""){
  40. return -1;

  41. }

  42. return searchR(strings,str,0,strings.length-1);
  43. }


  44.         public static void main(String[] args) {
  45.                 String[] strings={"Tong", "apple",
  46.                                 "banana", "chaing", "click", "tom"};
  47.                 System.out.println(search(strings,"tom"));
  48.         }
  49. }

  50. /main函数改为int就不行了*/
  51. package q11_5;

  52. import java.util.Arrays;

  53. public class Q11_5{

  54. public static int searchR(String[] strings,
  55.         String str,int first,int last){
  56.     if(first>last){
  57.         
  58.         return -1;
  59.     }

  60. int mid=(first+last)/2;
  61. if(strings[mid].isEmpty()){

  62. int left=mid-1;
  63. int right=mid+1;
  64. while(true){
  65. if(left<first&&right>last){//through so many manipulations of BS,only '' left in this array

  66.     return -1;
  67. }else if(right<=last&&!strings[right].isEmpty()){

  68.     mid=right;
  69.     break;
  70. }else if(left>=first&&!strings[left].isEmpty()){

  71. mid=left;
  72. break;


  73. }
  74. left--;
  75. right++;
  76. }
  77. }

  78. /*recursive*/

  79. if(str.equals(strings[mid])){
  80.     return mid;
  81. }else if(strings[mid].compareTo(str)<0){//search thr right part

  82. return searchR(strings,str,mid+1,last);

  83. }else{
  84.     return searchR(strings,str,first,mid-1);
  85. }
  86. }


  87. public static int search(String[] strings,String str){
  88. if(strings==null||str==null||str==""){
  89. return -1;

  90. }

  91. return searchR(strings,str,0,strings.length-1);
  92. }


  93.   public static int main(String[] args) {
  94.         String[] strings={"Tong", "apple",
  95.                 "banana", "chaing", "click", "tom"};
  96.         return search(strings,"chiang");
  97.     }
  98. }

复制代码
会发现没有java application的选项

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-9 04:15

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表