Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
16
Task/Binary-search/Perl/binary-search-1.pl
Normal file
16
Task/Binary-search/Perl/binary-search-1.pl
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
sub binary_search {
|
||||
my ($array_ref, $value, $left, $right) = @_;
|
||||
while ($left <= $right) {
|
||||
my $middle = int(($right + $left) >> 1);
|
||||
if ($value == $array_ref->[$middle]) {
|
||||
return $middle;
|
||||
}
|
||||
elsif ($value < $array_ref->[$middle]) {
|
||||
$right = $middle - 1;
|
||||
}
|
||||
else {
|
||||
$left = $middle + 1;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
14
Task/Binary-search/Perl/binary-search-2.pl
Normal file
14
Task/Binary-search/Perl/binary-search-2.pl
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
sub binary_search {
|
||||
my ($array_ref, $value, $left, $right) = @_;
|
||||
return -1 if ($right < $left);
|
||||
my $middle = int(($right + $left) >> 1);
|
||||
if ($value == $array_ref->[$middle]) {
|
||||
return $middle;
|
||||
}
|
||||
elsif ($value < $array_ref->[$middle]) {
|
||||
binary_search($array_ref, $value, $left, $middle - 1);
|
||||
}
|
||||
else {
|
||||
binary_search($array_ref, $value, $middle + 1, $right);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue