ฉันกำลังพยายามส่งเวกเตอร์เป็นอาร์กิวเมนต์ให้กับฟังก์ชันและฉันคิดไม่ออกว่าจะทำให้มันทำงานอย่างไร พยายามหลายวิธี แต่ทั้งหมดให้ข้อความแสดงข้อผิดพลาดที่แตกต่างกัน ฉันใส่โค้ดเพียงบางส่วนเท่านั้นเนื่องจากเป็นเพียงส่วนนี้ที่ใช้ไม่ได้ (เวกเตอร์ "สุ่ม" เต็มไปด้วยการสุ่ม แต่เรียงลำดับค่าระหว่าง 0 ถึง 200)
อัปเดตรหัส:
#include <iostream>
#include <ctime>
#include <algorithm>
#include <vector>
using namespace std;
int binarySearch(int first, int last, int search4, vector<int>& random);
int main()
{
vector<int> random(100);
int search4, found;
int first = 0;
int last = 99;
found = binarySearch(first, last, search4, random);
system("pause");
return(0);
}
int binarySearch(int first, int last, int search4, vector<int>& random)
{
do
{
int mid = (first + last) / 2;
if (search4 > random[mid])
first = mid + 1;
else if (search4 < random[mid])
last = mid - 1;
else
return mid;
} while (first <= last);
return -(first + 1);
}