Java实现折半查找(二分查找)的递归和非递归算法
转 : http://wintys.blog.51cto.com/425414/94051
/**
*名称:BinarySearch
*功能:实现了折半查找(二分查找)的递归和非递归算法.
*说明:
* 1、要求所查找的数组已有序,并且其中元素已实现Comparable<T>接口,如Integer、String等.
* 2、非递归查找使用search();,递归查找使用searchRecursively();
*
*本程序仅供编程学习参考
*
*@author: Winty
*@date: 2008-8-11
*@email: wintys@gmail.com
*/
class BinarySearch<T extends Comparable<T>> {
private T[] data;//要排序的数据
public BinarySearch(T[] data){
this.data = data;
}
public int search(T key){
int low;
int high;
int mid;
if(data == null)
return -1;
low = 0;
high = data.length - 1;
while(low <= high){
mid = (low + high) / 2;
System.out.println("mid " + mid + " mid value:" + data[mid]);///
if(key.compareTo(data[mid]) < 0){
high = mid - 1;
}else if(key.compareTo(data[mid]) > 0){
&n
相关文档:
参考配置文件
# 示例配置参考,涵盖几乎所有的主流数据库
############# Oracle数据库 ########################
# 数据库驱动名
driver=oracle.jdbc.driver.OracleDriver
# 数据库URL(包括端口)
dburl=jdbc:oracle:thin:@127.0.0.1:1521:zvfdb
# 数据库用户名
user=root
#& ......
对枚举类型印象大多来自于C
语言,在
C
语言中,枚举类型是一个
HardCode
(硬编码)类型,其使用价值并不大。因此,在
Java 5
之前,枚举是被抛弃的。然而
Java 5
以后的发现版本开始对枚举进行支持,枚举的引入给
Java
世界带来了争议。
笔者比较赞同引入枚举,作为一门通用的静态编程语言,应该是 ......
public static String StringFilter(String str) throws
PatternSyntaxException {
// 只允许字母和数字
&nbs ......
result love(boy, girl)
{
if( boy.有房() and boy.有车() )
{
boy.set(nothing);
return girl.嫁给(boy);
&n ......
package zzq.main;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
/************************************************************************
* C语言趣味程序(不到)百例-之Java实现
*
* 0 ......