【文件属性】:
文件名称:用折半查找法实现排序问题
文件大小:58KB
文件格式:RAR
更新时间:2013-06-17 09:32:04
折半查找 排序问题 java实现
public String up(String number, boolean updown)
{
int i = 0;
String s = "";
StringTokenizer tokenizer = new StringTokenizer(number, ",");
Array = new double[tokenizer.countTokens()];//字符串的解析,计算在生成异常之前可以调用此 tokenizer 的 nextToken 方法的次数/
while (tokenizer.hasMoreTokens())
{
String d = tokenizer.nextToken();
Array[i] = Double.valueOf(d);//将字符串转换为双字节类型
i++;
}
QSort(Array, 0, Array.length - 1);// 调用快速排序(升序)
if (!updown)
{
double num;
int low = 0, high = Array.length - 1;
for (; low < high; low++, high--)
{
num = Array[low];//数组交换位子
Array[low] = Array[high];
Array[high] = num;
}
}
for (i = 0; i < Array.length - 1; i++)
{
s += String.valueOf(Array[i]) + ",";
}
return s + String.valueOf(Array[Array.length - 1]);
}
public int searchNumber(double num, boolean updown) {// 折半查找算法
int left = 0, right = Array.length - 1, middle = -1;
while (left <= right) {
middle = (left + right) / 2;
if (num == Array[middle])
return middle;
if (updown) {//如果数组是升序
if (num > Array[middle])
left = middle + 1;
else
right = middle - 1;
} else {//数组是降序
if (num >Array[middle])
right = middle - 1;
else
left = middle + 1;
}
//return middle;
}
return -1;
}
【文件预览】:
折半查找法排序的java实现
----image041.gif(14KB)
----PaixuWindow.java(4KB)
----chinaz44.gif(7KB)
----numberPaixu.java(4KB)
----zhulei.java(175B)
----chinaz43.gif(35KB)