当前位置:信息工程学院首页 >> 学习交流 >> 学习下载 >> Java递归实现折中算法

Java递归实现折中算法

2010-06-09 15:44:53  作者:  来源:网络  浏览次数:516  文字大小:【】【】【
public class TestSort<O extends Comparable<O>> {
  private O[] data;
  public TestSort(O[] data)
  {
  this.data = data;
  }

  /**
  * 递归折中算法
  */

  public int sortByReturn(int low, int high, O )
  {
  int mid = (low+high)/2;
  if(.compareTo(data[mid])<0)
  {
  high = mid -1;
  return sortByReturn(low,high,);
  }else if(.compareTo(data[mid])>0)
  {
  low = mid + 1;
  return sortByReturn(low,high,);
  }else
  {
  return mid;
  }
  }

  /**
  * 循环折中算法
  * @param args
  */

  public int sortByWhile(O )
  {
  if(==null)
  {
  return 0;
  }
  int low = 0;
  int high = data.length-1;
  int mid ;
  while(low<=high)
  {
  mid = (high+low)/2;
  if(.compareTo(data[mid])<0)
  {
  high = mid-1;
  }else if(.compareTo(data[mid])>0)
  {
  low = mid+1;
  }else if(.compareTo(data[mid])==0)
  {
  return mid;
  }
  }
  return -1;
  }

  public static void main(String[] args)
  {
  Integer data[] = {1,2,5,7,9,33,43,45,66,78,93};
  TestSort<Integer> ts = new TestSort<Integer>(data);
  System.out.println("sort by while:"+ts.sortByWhile(5));
  System.out.println("sort2 by while:"+ts.sortByReturn(0,data.length-1,33));
  }
  }

发布员:xxxy  责任编辑:xxxy


相关文章
 

最新公告

更多

关于开展大学生讲好河南故事英语大赛的通知 ... 
关于2018年河南省教育厅优秀教育管理人才候选人推荐 ... 
关于征集第二届大美学工颁奖典礼暨校园文化建设优秀 ... 
关于推荐上报河南省2018年度“五个一百”网络正能量 ... 
图书馆关于开通试用《艺术一刻钟》的通知 ... 

最新文章

更多

2011模拟试题
中华人民共和国国民经济和社...
学法交流--关于<数据结构>...
Packet Tracer基础入门实验...
BIOS完全手册练习工具下载...
模拟试题
计算机专业英语之域名系统...
计算机专业英语之域名系统...
Java递归实现折中算法...
计算机硬件英汉对照(四)...