我想知道是否有人可以告诉我我的代码的错误。我正在尝试制作一种算法来搜索数组中的元素,如果元素“小于 i”且“大于 u”,则返回“true”。我不太明白为什么这似乎不起作用。它有时会返回 true,但似乎忽略了数组的第一个元素,其他的则不然。
除此之外,我想尝试一个“分而治之”的版本,现在我了解了这背后的一些理论。使用“枢轴”点并将数组分成两个较小的问题,但不知道如何实现它,如果有人能详细说明这些问题中的任何一个,我将不胜感激。谢谢。
#include <iostream>
using namespace std;
bool ArrayCheck(int length) {
int A[] = { 5, 10, 20, 25, 50 };
int i = 40; //less Than
int u = 15; //Greater Than
for (int Count = 0; Count < length; Count++) { //Counter
if (A[Count] <= i && A[Count] >= u) { //Checker
return true;
break;
} else {
return false;
}
}
}
int main() {
cout << ArrayCheck(5);
}