深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表

yipeiwu_com6年前PHP代码库

PHP几个算法整理 涉及到以下几个示例。
PHP冒泡
PHP二分法
PHP求素数
PHP乘法表

PHP冒泡法 示例

复制代码 代码如下:

//PHP冒泡  从小到大
function maopao(&$arr)
{
  if(!empty($arr))
  {
    for($i=0;$i<count($arr);$i++)
      {
        if($arr[$i]>$arr[$j])
        {
          //开始交换
          $temp = $arr[$i];
          $arr[$i] = $arr[$j];
          $arr[$j] = $temp;
        }
      }
    }
    return $arr;
  }
}

php二分法查找 代码示例

复制代码 代码如下:

//二分法查找
function erfenfa($a,$arr)
{
  print_r($arr);
  if(!empty($a)  &&  !empty($arr))
  {
    $start = 0;
    $end = count($arr)-1;
    $i = 0;
    while($start <= $end)     {
                        $i ++;
                        $step = floor($end / 2);
                       if($a == $arr[$step])
                       {
                        print_r($arr[$step]);
                     return $a;
                     }
                     if($a >$arr[$step])
      {
        $start = $step;
      }

      if($a < $arr[$step])
      {
        $end = $step;
      }
    }
  }
}

php求素数 – 计算 a 到 b 之间的素数。 代码示例

复制代码 代码如下:

//php求素数  - 计算 a 到 b 之间的素数。
function sushu($a,$b)
{
  if(!empty($a) && !empty($b))
  {
    if($b<$a) return;
    $temp = array();

    for($i=$a;$i <=$b;$i++)
    {
      $j = intval(sqrt($i));
      $flag = true;
      if($i<=3)
      {
        $temp[$i] = $i;
      }else
      {
        for($x=2;$x<=$j;$x++)
        {
          if($i%$x==0)
          {
            $flag = false;
            break;
          }
        }
        if($flag)
        {
          $temp[$i] = $i;
        }
      }
    }
    return $temp;
  }
}

PHP输出乘法表-递归 代码示例

复制代码 代码如下:

//PHP输出乘法表-递归
function digui($a,$step)
{
  if($a >$step) return;
  if( !empty($a) &&  !empty($step) )
  {
    for($i=1;$i<=$a;$i++)
    {
      echo $i.'*'.$a.'='.$a*$i.”\t”;
      if($i == $a )  echo ‘
‘;
    }
    $a = $a + 1;
    digui($a,$step);
  }
}

PHP输出乘法表-循环 代码示例

复制代码 代码如下:

//PHP输出乘法表-循环
function chengfa($a,$step)
{
  if( !empty($a) && !empty($step) )
  {
    for($i=$a;$i<=$step;$i++)
    {
      for($j=1;$j<=$i;$j++)
      {
        echo $j.'*'.$i.'='.$i*$j.”\t”;
        if($i==$j) echo ‘
‘;
      }
    }
  }
}

相关文章

PHP命名空间定义与用法实例分析

PHP命名空间定义与用法实例分析

本文实例讲述了PHP命名空间定义与用法。分享给大家供大家参考,具体如下: php的命名空间的样式跟linux的路径很相似。 我们使用文件的路径作为命名空间。 定义命名空间 MVC\Mo...

php的chr和ord函数实现字符加减乘除运算实现代码

chr函数用于将ASCII码转换为字符 ord函数是用来字符转换为ASCII码 ASCII码是计算机所能显示字符的编码,它的取值范围是0-255,其中包括标点、字母、数字、汉字等。在编程...

Apache实现Web Server负载均衡详解(不考虑Session版)

至少需三台服务器:服务器A:控制服务器服务器B和服务器C:实际执行服务器负载均衡原理:将访问服务器A的请求分发至服务器B和服务器C修改服务器A上apache的http.conf文件: 首...

Optimizer与Debugger兼容性问题的解决方法

ZendExtensionManager.dll——Zend扩展插件管理器 Zend扩展插件管理器最简安装教程: 1、安装Zend Optimizer 3.3.0a:https://ww...

如何使用PHP往windows中添加用户

方法有一:   因为添加用户,所以你运行PHP程序的用户必须是管理员权限(Administrator),并且同时需要你的php.ini中的安全模式没有打开,并且关闭函...