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

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

WBOY
Release: 2016-06-01 12:06:44
Original
792 people have browsed it

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 ‘
‘;
      }
    }
  }
}

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template