Home >Backend Development >PHP Tutorial >深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表_PHP

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

WBOY
WBOYOriginal
2016-06-01 12:06:44793browse

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

PHP冒泡法 示例
复制代码 代码如下:
//PHP冒泡  从小到大
function maopao(&$arr)
{
  if(!empty($arr))
  {
    for($i=0;$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                         $i ++;
                        $step = floor($end / 2);
                       if($a == $arr[$step])
                       {
                        print_r($arr[$step]);
                     return $a;
                     }
                     if($a >$arr[$step])
      {
        $start = $step;
      }

      if($a       {
        $end = $step;
      }
    }
  }
}

php求素数 – 计算 a 到 b 之间的素数。 代码示例
复制代码 代码如下:
//php求素数  - 计算 a 到 b 之间的素数。
function sushu($a,$b)
{
  if(!empty($a) && !empty($b))
  {
    if($b    $temp = array();

    for($i=$a;$i     {
      $j = intval(sqrt($i));
      $flag = true;
      if($i      {
        $temp[$i] = $i;
      }else
      {
        for($x=2;$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    {
      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    {
      for($j=1;$j      {
        echo $j.'*'.$i.'='.$i*$j.”\t”;
        if($i==$j) echo ‘
‘;
      }
    }
  }
}

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn