该程序的目的是使用二进制搜索来查找值42。 我能做些什么让它正常运作?
目的:它按排序顺序生成一百万个元素的列表,并尝试插入另外100个元素,同时保持排序顺序。然后它使用二进制搜索搜索特定值(42)。
计算机告诉我,我在线路上出现了一个错误,它开始bool BinarySearch,它说预期'('用于函数式转换或类型构造
#ifndef InsertLookup_h
#define InsertLookup_h
bool find(long* list, long size, long value) {
for (long i = 0; i < size; i++) {
bool binarySearch(long* list, long value, int first, int sec)
{
while (first <= sec) {
int mid = (first+sec)/2;
if (list[mid] == value)
return true;
else if (list[mid] > value)
sec = mid-1;
else
first = mid +1;
return false;
if (list[i] == value) {
return true;
}
}
}
}
return false;
}
void insertion_sort(long list[], long size) {
long n = size;
for (long i = 1; i < n; i++) {
long j = i;
while (j > 0 && list[j-1] > list[j]) {
long temp = list[j];
list[j] = list[j-1];
list[j-1] = temp;
j = j - 1;
}
}
}
void insert(long* list, long size, long value) {
list[size-1] = value;
insertion_sort(list, size);
}
#endif