C++写线性排序时通常将哨兵定义在array[0],java好像没法这么做?我这样实现合理么?
结果是正确的,请问这样写能体现哨兵的优势么?
/**
* 使用哨兵实现线性查找
*/
public static <T> boolean linearSearch(T[] array, T target) {
// 哨兵
T temp = array[0];
int i = array.length - 1;
while (!array[i].equals(temp)) {
if (array[i].equals(target)) {
return true;
}
i--;
}
// 比较最后一个元素
return target.equals(temp);
}
으아악
이 코드 구조가 더 명확한 것 같습니다