用折半查找法实现排序问题

时间:2013-06-17 09:32:04
【文件属性】:
文件名称:用折半查找法实现排序问题
文件大小: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)

网友评论