【发布时间】:2017-06-30 00:43:52
【问题描述】:
这是我目前的搜索方法:
public static int search(int[] array, int numero) {
int start = 0;
int end = array.length - 1;
int center;
while (start <= end) {
center = (start + end) / 2;
if (array[center] == numero) {
return center;
} else if (array[center] < numero) {
start = center + 1;
} else {
end = center - 1;
}
}
return -1;
}
它从用户输入 numero 搜索到 Main 方法中找到的先前冒泡排序数组。
我想弄清楚的是如何打印在数组中找到的所有巧合,而不仅仅是找到的第一个巧合。 我正在考虑将结果添加到列表中,然后将其返回到 Main,但是当我尝试找到的第一个结果时发生了无限循环,导致它反复将自身添加到列表中,直到程序崩溃。
【问题讨论】:
-
您的列表方法可以工作,您只需要记住在添加时还更改
start或end的值 - 但是您必须检查两侧的 1 个索引center可能位于重复值的中间。
标签: java arrays sorting search