当前位置: 澳门新濠3559 > 编程 > 正文

但您的浏览器不支持框架,在php中我们有个全局

时间:2019-11-22 20:51来源:编程
login.phphframe.php PHP几个算法整理涉及到以下几个示例。 PHP冒泡PHP二分法PHP求素数PHP乘法表 1.冒泡 本文实例讲述了php获取用户浏览器版本的方法。分享给大家供大家参考。具体分析如下:

login.phphframe.php

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

1.冒泡

本文实例讲述了php获取用户浏览器版本的方法。分享给大家供大家参考。具体分析如下:

此网页使用了框架,但您的浏览器不支持框架。

PHP冒泡法 示例复制代码 代码如下://PHP冒泡 从小到大function maopao{ if { for;$i++) { if { //开始交换 $temp = $arr[$i]; $arr[$i] = $arr[$j]; $arr[$j] = $temp; } } } return $arr; }}

function bubbleSort($arr){
//进行N轮循环
for($n = count($arr)-1; $n > 0 ; $n --){
//每一轮循环需要进行的比较次数
for ($i = 0 ; $i < $n ; $i++){
//如果
if($arr[$i]<$arr[$i+1] ){
$temp = $arr[$i+1];
$arr[$i+1] = $arr[$i] ;
$arr[$i] = $temp;
echo '第'.$i.'个元素和后一个元素交换位置后'.$arr[$i].','. $arr[$i+1].'<br/>';
}else{
echo '第'.$i.'个元素和后一个元素不需要交换位置'.$arr[$i].','. $arr[$i+1].'<br/>';
}
}

在php中我们有个全局变量$_SERVER['HTTP_USER_AGENT'];可以获取用户所有信息,我们要经过处理才可以判断用户浏览器是哪种类型的,下面的函数就可以准确的用户浏览器版本号代码.复制代码 代码如下:function getbrowse() { $agent = $_server['http_user_agent']; $browser = ''; $browserver = ''; $browser = array('lynx', 'mosaic', 'aol', 'opera', 'java', 'macweb', 'webexplorer', 'omniweb'); for($i = 0; $i <= 7; $i ++){ if(strpos($agent, $browsers[$i])){ $browser = $browsers[$i]; $browserver = ''; } } if(ereg && !ereg{ $temp = explode; $part = $temp[0]; $temp = explode; $browserver = $temp[1]; $temp = explode; $browserver = $temp[0]; $browserver = preg_replace/', '1', $browserver); $browserver = $browserver; $browser = 'netscape navigator'; } if(ereg && ereg { $temp = explode; $part = $temp[1]; $temp = explode; $browserver = $temp[1]; $temp = explode; $browserver = $temp[2]; $browserver = preg_replace/', '1', $browserver); $browserver = $browserver; $browser = 'opera'; } if(ereg && ereg{ $temp = explode; $part = $temp[1]; $temp = explode; $part = $temp[1]; $temp = explode; $browserver = $temp[2]; $browserver = preg_replace/','但您的浏览器不支持框架,在php中我们有个全局变量$。1',$browserver); $browserver = $browserver; $browser = 'internet explorer'; } if{ $browseinfo = $browser.' '.$browserver; } else { $browseinfo = false; }return $browseinfo; } //应用方法

smessage.php

php二分法查找 代码示例复制代码 代码如下://二分法查找function erfenfa{ print_r && !empty { $start = 0; $end = count-1; $i = 0; while { $i ++; $step = floor; if { print_r; return $a; } if { $start = $step; }

2.快速排序

//在ie中 echo getbrowse(); //internet explorer 6.0 //在firefox中 echo getbrowse() ;//netscape navigator 5.0

: session_start();echo "";$fl=file;$temp="";for;$i++){$sflag=explode("|",$fl[$i]);if&&$sflag[0]==$nickname){echo"

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

<?php
header('Content-type:text/html;charset= utf-8');
function quickSort($arr){
if(count($arr) <=1){
return $arr;
}
$result = array();
$element = $arr[0];
$left = array();
$right =array();
for($i = 1; $i < count($arr); $i++){
if($arr[$i]澳门新濠3559, > $element){
$right[] = $arr[$i];
}else{
$left[] = $arr[$i];
}
}
echo 'right:';
foreach($left as $n){
echo $n.',';
}
echo ' center:'.$element.', right:';
foreach ($left as $n) {
echo $n.',';
}
echo '<br>';
$left = quickSort($left);
$right = quickSort($right);
return array_merge($right, array($element), $left);
}
$arr = array(4,3,9,7,6);
$arr2 = quickSort($arr);
echo '<pre>';
print_r($arr2);
?>

希望本文所述对大家的php程序设计有所帮助。

";}else{$temp.=$fl[$i];}}$fp=fopen("test.txt","w");fputs;?>这只是个简单的例子,更多的修饰就靠你自己了!

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

3.插入排序

for { $j = intval; $flag = true; if { $temp[$i] = $i; }else { for { if { $flag = false; break; } } if { $temp[$i] = $i; } } } return $temp; }}

<?php
echo '<pre>';
header('Content-Type:text/html;charset = utf-8');
/*4 3 9 7 6
4 3 9 7 6
34 9 7 6
349 76
3469 7
34679
插入排序 ,循环N层
*/

PHP输出乘法表-递归 代码示例复制代码 代码如下://PHP输出乘法表-递归function digui{ if return; if && !empty { for { echo $i.'*'.$a.'='.$a*$i.”t”; if echo ‘‘; } $a = $a + 1; digui; }}

function insertSort($arr){
//$i = 1,$j = 0;
for ($i=0; $i <count($arr) ; $i++) {
echo '<hr>';
echo '<br>本次循环要插入位置的元素位置是'.$i.',值'.$arr[$i].'<br>';
//$arr [$i] 和所有小于$i 的元素比较
for ($j=0; $j <$i ; $j++) {
//找到要插入的位置就是$j;
if($arr[$j] >= $arr[$i]){
echo '要插入的位置是'.$j.'<br>';
//先保存本次要插入的元素
$temp = $arr[$i];
//$temp =3,$arr[0]=4,$arr[1]=3;
//把所有大于$j的元素都往后移一个位置
for ($k=$i; $k >$j ; $k--) {
$arr [$k] = $arr[$k -1];//$arr[1] = $arr[0];//4
}
echo $j.'到'.$i.'之间的元素往后移<br>';
//$j放入要插入的元素
$arr[ $j ] = $temp;//$arr[0] = 3;
break;
}
//如果比较到了最后一个位置,说明要插入的位置本来就比较大不需要移动位置
if ($j ==$i -1){
echo '本次位置不变<br>';
}
}
echo 'i=='.$i.'<br>';
print_r($arr);
}
return $arr;

PHP输出乘法表-循环 代码示例复制代码 代码如下://PHP输出乘法表-循环function chengfa{ if && !empty { for { for { echo $j.'*'.$i.'='.$i*$j.”t”; if echo ‘‘; } } }}

}
$arr = array (8,4,3,1,9,7,6);
//4 8 3 temp = 3 488 448 348
//3 4 8 1 temp =
echo '<prev>';
$arr2 =insertSort($arr);
print_r($arr2);
?>

4.选择排序

<?php

header('Content-Type:text/html;charset=utf-8');
/*

选择排序

//6,3,9,4
//第一轮4次比较 temp 6 3 9 4 temp=9 634/9
//第二轮3次比较 temp 6 3 4 9 temp=6 43/69
//第三轮2次比较 temp 4 3 6 9 temp=4 3/469
//第四轮 3469

*/

function selectSort($arr) {
//每一轮都选择一个剩余元素中的最大值
$count = count($arr);
for ($n = $count; $n > 0; $n--) {
//选择一个最大值,并和最后一个位置交换
$temp = 0;
$k = 0;
for ($i = $count-$n; $i < $count; $i++) {
if ($arr[$i] > $temp) {
$temp = $arr[$i];
$k = $i;
}
}
//交换 $k 和 本轮循环的最后一个元素
$arr[$k] = $arr[$count-$n];
$arr[$count-$n] = $temp;
//交换temp和最后一个元素的值,可能需要另外的变量存储key
var_dump($arr);
}

return $arr;
}

echo '<pre>';
$arr = array(12,6,3,9,4);
print_r($arr);
$arr2 = selectSort($arr);
?>

5.二分查找顺序查找

<?php
class search
{
    // 查找的源数组
    private $array = array(1, 2, 3, 5, 7, 6, 4, 8);
    /**
     * 顺序查找法
     * @param $val 要查找的值
     */
    public function query_search($val)
    {
        foreach ($this->array as $k => $v) {
            if ($v == $val) {
                echo '顺序查找成功!';
                exit(0);
            }
        }
        echo '顺序查找失败!';
    }
    /**
     * 二分查找法
     * @param $val 要查找的值
     */
    public function bin_search($val)
    {
        sort($this->array);
        $min = 0;
        $max = count($this->array);
        for ($i = $min; $i < $max; $i++) {
            $mid = ceil(($min + $max) / 2);

            if ($val == $this->array[$mid]) {
                echo '二分查找成功!';
                exit(0);
            } else if ($val < $this->array[$mid]) {
                $max = $mid;
            } else if ($val > $this->array[$mid]) {
                $min = $mid;
            }
        }
        echo '二分查找失败!';
    }
}

1.求第N个 1,1,2,3,5,8,13,-------

  function a($n){
      if ($n <= 0) {
            return 0;
      } elseif ($n == 1) {
          return 1;
      } else {
          return a($n - 1) + a($n - 2);
      }
   }
echo a(4);
2.求1000以内的奇数和

$sum  = 0;
for($i = 1;$i<=1000;$i++)
{
    if($i%2 != 0)
    {
        $sum += $i;
    }
}
echo $sum;
3.求1000以内数的和

$sum = 0;
for($i=1;$i<=100;$i++){
    $sum +=  $i;
}
echo $sum;
4.给定一个数组,求出数组中差最小的两个数 比如[1,3,4,56,24,245,244]
先留着,评论区可以的小伙伴先上解
5.背包算法

<?php
//背包承重上限
$limit = 8;
//物品种类
$total = 5;
//物品
$array = array(
    array("栗子", 4, 4500),
    array("苹果", 5, 5700),
    array("橘子", 2, 2250),
    array("草莓", 1, 1100),
    array("甜瓜", 6, 6700)
);
//存放物品的数组
$item = array_fill(0, $limit + 1, 0);
//存放价值的数组
$value = array_fill(0, $limit + 1, 0);
$p = $newvalue = 0;
for ($i = 0; $i < $total; $i++) {
    for ($j = $array[$i][1]; $j <= $limit; $j++) {
        $p = $j - $array[$i][1];
        $newvalue = $value[$p] + $array[$i][2];
        //找到最优解的阶段
        if ($newvalue > $value[$j]) {
            $value[$j] = $newvalue;
            $item[$j] = $i;
        }
    }
}
echo "物品  价格<br />";
for ($i = $limit; 1 <= $i; $i = $i - $array[$item[$i]][1]) {
    echo $array[$item[$i]][0] . "  " . $array[$item[$i]][2] . "<br />";
}
echo "合计  " . $value[$limit];
//

<?php
//0-1背包贪心算法问题
class tanxin{
    public $weight;
    public $price;
    public function __construct($weight=0,$price=0)
    {
        $this->weight=$weight;
        $this->price=$price;
    }
}
//生成数据
$n=10;
for($i=1;$i<=$n;$i++){
    $weight=rand(1,20);
    $price=rand(1,10);
    $x[$i]=new tanxin($weight,$price);
}
//输出结果
function display($x)
{
    $len=count($x);
    foreach($x as $val){
        echo $val->weight,' ',$val->price;
        echo '<br>';
    }
}
//按照价格和重量比排序
function tsort(&$x)
{
    $len=count($x);
    for($i=1;$i<=$len;$i++)
    {
        for($j=1;$j<=$len-$i;$j++)
        {
            $temp=$x[$j];
            $res=$x[$j+1]->price/$x[$j+1]->weight;
            $temres=$temp->price/$temp->weight;
            if($res>$temres){
                $x[$j]=$x[$j+1];
                $x[$j+1]=$temp;
            }
        }
    }
}
//贪心算法
function tanxin($x,$totalweight=50)
{
    $len=count($x);
    $allprice=0;
    for($i=1;$i<=$len;$i++){
        if($x[$i]->weight>$totalweight) break;
        else{
            $allprice+=$x[$i]->price;
            $totalweight=$totalweight-$x[$i]->weight;
        }
    }
    if($i<$len) $allprice+=$x[$i]->price*($totalweight/$x[$i]->weight);
    return $allprice;
}
tsort($x);//按非递增次序排序
display($x);//显示
echo '0-1背包最优解为:';
echo tanxin($x);
10:

编辑:编程 本文来源:但您的浏览器不支持框架,在php中我们有个全局

关键词: