Σειριακή αναζήτηση (Sequential search)
bool sequential_search(int arr[], int N, int target) {
for (int i = 0; i < N; i++)
if (target == arr[i])
return true; // Το στοιχείο βρέθηκε
return false; // Το στοιχείο δεν βρέθηκε
}
Δυαδική αναζήτηση (Binary search)
Η δυαδική αναζήτηση μπορεί να χρησιμοποιηθεί μόνο αν ο πίνακας είναι ήδη ταξινομημένος.
bool binary_search(int arr[], int N, int target) {
int first = 0, last = N - 1, mid;
while (first <= last) {
mid = (first + last) / 2; // Εύρεση μεσαίου στοιχείου
if (arr[mid] == target)
return true; // Το στοιχείο βρέθηκε
else
if (target < arr[mid])
last = mid - 1; // Ψάξε στο «αριστερό» μέρος
else
first = mid + 1; // Ψάξε στο «δεξί» μέρος
}
return false; // Το στοιχείο δεν βρέθηκε
}