亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

php堆排序(heapsort)練習

2024-05-04 23:19:39
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:


<?
//堆排序應用
class heapsort
  {
    var $a;
    function setarray($a)//取得數組
      {
        $this->a=$a;
      }
    function runvalue($b,$c)//$a 代表數組,$b代表排序堆,$c代表結束點,
      {
        while($b<$c)
          {
            $h1=2*$b;
            $h2=(2*$b+1);
            if($h1>$c)
              break;
            elseif($h1==$c)
              {
                if($this->a[$b]>$this->a[$h1])
                  {
                    $t=$this->a[$b];
                    $this->a[$b]=$this->a[$h1];
                    $this->a[$h1]=$t;
                    $la=1;
                  }
                else
                  $la=1;
              }
            elseif(($this->a[$b]>$this->a[$h1])||($this->a[$b]>$this->a[$h2]))
              {
                if($this->a[$h1]>=$this->a[$h2])
                  {
                    $t=$this->a[$h2];
                    $this->a[$h2]=$this->a[$b];
                    $this->a[$b]=$t;
                    $b=$h2;
                  }
                else
                  {
                    $t=$this->a[$h1];
                    $this->a[$h1]=$this->a[$b];
                    $this->a[$b]=$t;
                    $b=$h1;
                  }
              }
            else
              $la=1;
            if($la==1)
              break;
          }
      }
    function getarray()
      {
        $all=count($this->a);
        $b=Floor(($all-1)/2);
        for($i=$b;$i>=1;$i--)//先將數組建立成堆
          {
            $this->runvalue($i,($all-1));
          }
        for($i=1;$i<$all;$i++)
          {
            $a1=($all-$i);
            if($i==1)
              {
                $t=$this->a[1];
                $this->a[1]=$this->a[$a1];
                $this->a[$a1]=$t;
              }
            else
              {
                $end=($all-$i);
                $this->runvalue(1,$end);
                $t=$this->a[1];
                $this->a[1]=$this->a[$end];
                $this->a[$end]=$t;
              }
          }
        return $this->a;
      }
  }
//////
class sortarr
  {
    var $a;
    function setarray($a)//取得數組
      {
        $this->a=$a;
      }
    function runvalue($i)
      {
        $max=$this->a[$i];
        $id=$i;
        for($j=($i+1);$j<count($this->a);$j++)
          {
            if($this->a[$j]>$max)
              {
                $max=$this->a[$j];
                $id=$j;
              }
          }
        if($id!=$i)
          {
            $t=$this->a[$id];
            $this->a[$id]=$this->a[$i];
            $this->a[$i]=$t;
          }
      }
    function getarray()
      {
        for($i=1;$i<(count($this->a)-1);$i++)
          $this->runvalue($i);
        return $this->a;
      }
  }
//////
$s=microtime();
$st=explode(' ',$s);
$st1=$st[0];
$st2=$st[1];
//////
$v=10000;//排序數組長度
$brr[0]=0;
for($i=1;$i<$v;$i++)
  {
    $brr[$i]=rand();
  }
$check=2;//1 stand for heapsort 2 stand for another sort
echo'after sort!!<br>';
if($check==1)
  {
    $arr=new heapsort;
    $arr->setarray($brr);
    $ok=$arr->getarray();
    for($i=1;$i<$v;$i++)
      {
        $j=((($i+1)>($v-1))?($v-1):($i+1));
  /*
 if($ok[$j]<$ok[$i])
          echo'<font color=red>'.$ok[$i].'</font><br>';
        else
          echo$ok[$i].'<br>';*/
      }
  }
elseif($check==2)
  {
    $arr=new sortarr;
    $arr->setarray($brr);
    $ok=$arr->getarray();
    for($i=1;$i<$v;$i++)
      {
        $j=((($i+1)>($v-1))?($v-1):($i+1));/*
        if($ok[$j]<$ok[$i])
          echo'<font color=red>'.$ok[$i].'</font><br>';
        elseif($ok[$j]>$ok[$i])
          echo'<font color=green>'.$ok[$i].'</font><br>';
        else
          echo$ok[$i].'<br>';*/
      }
  }
elseif($check==3)
  {
    sort($brr);
    $ok=$brr;
    for($i=1;$i<$v;$i++)
      {
        $j=((($i+1)>($v-1))?($v-1):($i+1));/*
        if($ok[$j]<$ok[$i])
          echo'<font color=red>'.$ok[$i].'</font><br>';
        elseif($ok[$j]>$ok[$i])
          echo'<font color=green>'.$ok[$i].'</font><br>';
        else
          echo$ok[$i].'<br>';*/
      }
  }
else
  {
    echo'參數輸入錯誤!!<br>';
  }
//////
$s=microtime();
$st=explode(' ',$s);
$sta=$st[0];
$stb=$st[1];
$ss1=$sta-$st1;
$ss2=$stb-$st2;
if($check==1)
  $word='堆排序';
elseif($check==2)
  $word='常規排序';
elseif($check==3)
  $word='普通排序';
else
  $word='無排序';
echo$word.'對具有'.$v.'個元素的數組排序,消耗了'.($ss2+$ss1).'秒時間';
//////
?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久在线观看| 日韩中文娱乐网| 欧美天天综合色影久久精品| 精品调教chinesegay| 国产婷婷成人久久av免费高清| 欧美在线一级视频| 国产精品91一区| 国内外成人免费激情在线视频| 亚洲人成在线电影| 精品无人区乱码1区2区3区在线| 国产91精品久久久| 91亚洲精品一区| 国产极品精品在线观看| 91久久精品国产91性色| 黄色成人在线播放| 成人精品久久一区二区三区| 色综合久综合久久综合久鬼88| 亚洲人午夜精品| 日本精品性网站在线观看| 亚洲欧美在线x视频| 国产精品久久久久不卡| 久久天天躁夜夜躁狠狠躁2022| 国产精品视频一区二区三区四| 成人网欧美在线视频| 久色乳综合思思在线视频| 亚洲va欧美va在线观看| 一本一道久久a久久精品逆3p| 午夜精品久久久久久久99热| 日韩成人在线免费观看| 亚洲变态欧美另类捆绑| 亚洲国产日韩欧美在线动漫| 不卡伊人av在线播放| 91久久久久久国产精品| 亚洲资源在线看| 亚洲第一精品久久忘忧草社区| 69av在线视频| 538国产精品一区二区免费视频| 91亚洲人电影| 久久久久久久久综合| 欧美与黑人午夜性猛交久久久| 久久久黄色av| 国产福利视频一区| 久久久久久久久久国产| 欧美精品电影免费在线观看| 亚洲在线视频观看| 国产精品久久久久av| 精品久久久久久亚洲精品| 欧美裸体xxxxx| 国产99久久久欧美黑人| 国产精品视频网址| 亚洲午夜性刺激影院| 久久久之久亚州精品露出| 中文字幕日韩精品有码视频| 欧美视频不卡中文| 亚洲国产精品福利| 久热在线中文字幕色999舞| 亚洲3p在线观看| 日韩在线视频中文字幕| 精品网站999www| 久久久久久亚洲精品中文字幕| 蜜臀久久99精品久久久无需会员| 欧美激情a∨在线视频播放| 国产日韩欧美在线视频观看| 伊人久久男人天堂| 欧美成人免费大片| 国产视频精品xxxx| 中文字幕综合一区| 91福利视频在线观看| 亚洲区一区二区| 日韩在线中文字| 欧美激情免费在线| 日韩二区三区在线| 欧美精品在线网站| 少妇高潮久久77777| 亚洲美女av网站| 亲爱的老师9免费观看全集电视剧| 日韩av片免费在线观看| 欧美美女操人视频| 国产成人精品久久久| 97久久久免费福利网址| 亚洲天堂av女优| 国产91色在线免费| 日韩国产在线播放| 久久精品视频播放| 欧美丰满少妇xxxxx做受| 成人免费淫片视频软件| 欧美亚洲午夜视频在线观看| 成人午夜一级二级三级| 国产成一区二区| 亚洲一区亚洲二区| 奇米成人av国产一区二区三区| 欧美日韩一二三四五区| 亚洲天堂开心观看| 欧美野外猛男的大粗鳮| 亚洲福利小视频| 日韩欧美成人区| 精品中文字幕在线| 亚洲天堂久久av| 久久91亚洲精品中文字幕奶水| 欧洲成人在线观看| 久久天天躁狠狠躁夜夜躁2014| 国产亚洲欧美另类中文| 国产丝袜一区二区| 欧洲s码亚洲m码精品一区| 亚洲香蕉伊综合在人在线视看| 欧美最顶级的aⅴ艳星| 国产精品aaa| 在线免费观看羞羞视频一区二区| 国产精品7m视频| 中文字幕精品视频| 国产精品一区二区三区久久| 亚洲free性xxxx护士hd| 国产精品成人一区二区三区吃奶| 国产欧美 在线欧美| 亚洲韩国青草视频| 欧美成人免费全部观看天天性色| 国产视频亚洲视频| 国产精品高潮呻吟久久av黑人| 97精品在线视频| 亚洲一区二区久久久久久久| 福利视频第一区| 成人自拍性视频| 欧美午夜片欧美片在线观看| 尤物九九久久国产精品的分类| 免费不卡在线观看av| 色黄久久久久久| 青草青草久热精品视频在线观看| 亚洲国产精久久久久久久| 日韩精品免费在线| 亚洲成人国产精品| 久久人人爽人人爽人人片亚洲| 亚洲精品综合久久中文字幕| 日韩视频免费中文字幕| 欧美在线视频网| 亚洲乱码av中文一区二区| xvideos亚洲人网站| 在线播放国产一区中文字幕剧情欧美| 国产精品美女网站| 欧美亚洲国产另类| 久久亚洲春色中文字幕| 国产一区二中文字幕在线看| 欧美激情视频免费观看| 91视频8mav| 欧美小视频在线观看| 青青在线视频一区二区三区| 欧美日韩中文字幕在线| 久久精品中文字幕免费mv| 亚洲欧美日韩精品久久| 欧美成人精品在线| 在线午夜精品自拍| 国产精品激情av电影在线观看| 亚洲日韩中文字幕在线播放| 午夜精品福利电影| 国产日韩在线视频| 97久久精品视频| 2024亚洲男人天堂| 97在线看免费观看视频在线观看| 国产一区二区欧美日韩| 97色在线观看免费视频| 国产精品狠色婷| 91网站在线免费观看| 92福利视频午夜1000合集在线观看| 欧美色xxxx| 在线观看国产精品日韩av|