perl实现二分法的ip查找

perl实现二分法的ip查找,第1张

概述sub search_newarea{      my $ip =@_[0];      $start=1;      $end=$count;      @ips=split(/\./,$ip);      $long_ip =int($ips[0])*256*256*256+int($ips[1])*256*256 + int($ips[2])*256 + int($ips[3]);     

sub search_newarea{
     my $ip =@_[0];
     $start=1;
     $end=$count;
     @ips=split(/\./,$ip);
     $long_ip =int($ips[0])*256*256*256+int($ips[1])*256*256 + int($ips[2])*256 + int($ips[3]);
     while($start <= $end && $start >= 1 && $end <= $count){
            $mIDdle=int(($start+$end)/2);
            if($long_ip>=$areas{$mIDdle}[0] && $long_ip<=$areas{$mIDdle}[1]){
                 return $areas{$mIDdle}[2];
            }
            if($long_ip>$areas{$mIDdle}[0]){
                  $start=$mIDdle+1;
            }else{
                 $end=$mIDdle-1;
            }

     }
     return 0;
}

 

search_newarea $ip;

总结

以上是内存溢出为你收集整理的perl实现二分法的ip查找全部内容,希望文章能够帮你解决perl实现二分法的ip查找所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1286788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存