Miért nem működik ez a kód? (C#, bináris keresés rekurzívan)
Figyelt kérdés
static bool BinarySearchRecursive(int[] sequence, int element, int first, int last)
{
if(last >= first)
{
int middle = (first + last) / 2;
if (sequence[middle] == element) { return true; }
if (sequence[middle] > element)
{
BinarySearchRecursive(sequence, element, first, middle - 1);
}
else
{
BinarySearchRecursive(sequence, element, middle + 1, last);
}
}
return false;
}
Hívása:
int[] array = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
Console.WriteLine(BinarySearchRecursive(array, 3, 0, 9));
False-t dob.
2022. máj. 7. 20:20
1/5 anonim válasza:
Mi mást adjon vissza, ha egyszer ott van a végén a "return false;"?
2/5 A kérdező kommentje:
"if (sequence[middle] == element) { return true; }"
Van egy ilyen rész is, ebbe elvileg bele kellene futnia.
2022. máj. 7. 20:46
3/5 anonim válasza:
Fel van cserélve a feltétel.
Egyébként meg debug.
4/5 A kérdező kommentje:
"Fel van cserélve a feltétel"
Hol???
2022. máj. 7. 20:53
5/5 A kérdező kommentje:
Ok, rájöttem.
2022. máj. 7. 21:00
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!