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

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

WBOY
WBOYOriginal
2016-06-01 12:06:44794Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn