DigitalKitty has asked for the wisdom of the Perl Monks concerning the following question:
#!/usr/bin/perl -w use strict; my @array; my $low = 0; my $mid; my $found_key = 0; my $num; my $key; my $index; @array = ( 5, 10, 30, 4, -3, 18, 101, 2001, 46, 23 ); @array = sort { $a <=> $b } @array; my $high = $#array; print "Please enter key to search for: "; chomp( $key = <STDIN> ); while( ( $low <= $high ) && !$found_key ) { $mid = ( $low + $high ) / 2; if( $key == $array[$mid] ) { $found_key = 1; $index = int( $mid ); } elsif( $key < $array[$mid] ) { $high = $mid - 1; } else { $low = $mid + 1; } } if( $found_key ) { print "$key is at position: $index\n"; } else { print "Sorry. I could not find: $key"; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Binary searching with Perl.
by gmax (Abbot) on May 24, 2003 at 09:14 UTC | |
by arthas (Hermit) on May 24, 2003 at 11:40 UTC | |
|
Re: Binary searching with Perl.
by Dominus (Parson) on May 25, 2003 at 04:47 UTC | |
by tilly (Archbishop) on May 25, 2003 at 04:51 UTC | |
by Dominus (Parson) on May 25, 2003 at 04:55 UTC | |
|
Re: Binary searching with Perl.
by TVSET (Chaplain) on May 24, 2003 at 12:49 UTC | |
|
Re: Binary searching with Perl.
by Anonymous Monk on May 24, 2003 at 11:23 UTC | |
by Abigail-II (Bishop) on May 24, 2003 at 11:47 UTC | |
by Anonymous Monk on May 24, 2003 at 13:45 UTC | |
by zby (Vicar) on May 26, 2003 at 08:03 UTC | |
|
A bit OT remark (was Re: Binary searching with Perl.)
by zby (Vicar) on May 24, 2003 at 09:30 UTC | |
by Abigail-II (Bishop) on May 24, 2003 at 11:20 UTC | |
|
Re: Binary searching with Perl.
by aquarium (Curate) on May 24, 2003 at 14:29 UTC | |
|
Re: Binary searching with Perl.
by Anonymous Monk on May 24, 2003 at 15:40 UTC |