heapsort(PHP)
Jun 21, 2016 am 09:16 AM練習(xí)堆排序的一個程序
//堆排序應(yīng)用
class heapsort
? {
??? var $a;
??? function setarray($a)//取得數(shù)組
????? {
??????? $this->a=$a;
????? }
??? function runvalue($b,$c)//$a 代表數(shù)組,$b代表排序堆,$c代表結(jié)束點,
????? {
??????? while($b????????? {
??????????? $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--)//先將數(shù)組建立成堆
????????? {
??????????? $this->runvalue($i,($all-1));
????????? }
??????? for($i=1;$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)//取得數(shù)組
????? {
??????? $this->a=$a;
????? }
??? function runvalue($i)
????? {
??????? $max=$this->a[$i];
??????? $id=$i;
??????? for($j=($i+1);$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;$ia)-1);$i++)
????????? $this->runvalue($i);
??????? return $this->a;
????? }
? }
//////
$s=microtime();
$st=explode(' ',$s);
$st1=$st[0];
$st2=$st[1];
//////
$v=10000;//排序數(shù)組長度
$brr[0]=0;
for($i=1;$i? {
??? $brr[$i]=rand();
? }
$check=2;//1 stand for heapsort 2 stand for another sort
echo'after sort!!
';
if($check==1)
? {
??? $arr=new heapsort;
??? $arr->setarray($brr);
??? $ok=$arr->getarray();
??? for($i=1;$i????? {
??????? $j=((($i+1)>($v-1))?($v-1):($i+1));
? /*
?if($ok[$j]????????? echo''.$ok[$i].'
';
??????? else
????????? echo$ok[$i].'
';*/
????? }
? }
elseif($check==2)
? {
??? $arr=new sortarr;
??? $arr->setarray($brr);
??? $ok=$arr->getarray();
??? for($i=1;$i????? {
??????? $j=((($i+1)>($v-1))?($v-1):($i+1));/*
??????? if($ok[$j]????????? echo''.$ok[$i].'
';
??????? elseif($ok[$j]>$ok[$i])
????????? echo''.$ok[$i].'
';
??????? else
????????? echo$ok[$i].'
';*/
????? }
? }
elseif($check==3)
? {
??? sort($brr);
??? $ok=$brr;
??? for($i=1;$i????? {
??????? $j=((($i+1)>($v-1))?($v-1):($i+1));/*
??????? if($ok[$j]????????? echo''.$ok[$i].'
';
??????? elseif($ok[$j]>$ok[$i])
????????? echo''.$ok[$i].'
';
??????? else
????????? echo$ok[$i].'
';*/
????? }
? }
else
? {
??? echo'參數(shù)輸入錯誤!!
';
? }
//////
$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='常規(guī)排序';
elseif($check==3)
? $word='普通排序';
else
? $word='無排序';
echo$word.'對具有'.$v.'個元素的數(shù)組排序,消耗了'.($ss2+$ss1).'秒時間';
//////
?>

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment optimiser la durée de vie de la batterie de l'iPad avec iPadOS 17.4 L'extension de la durée de vie de la batterie est la clé de l'expérience des appareils mobiles, et l'iPad en est un bon exemple. Si vous avez l'impression que la batterie de votre iPad se décharge trop rapidement, ne vous inquiétez pas, il existe un certain nombre d'astuces et d'ajustements dans iPadOS 17.4 qui peuvent prolonger considérablement la durée de fonctionnement de votre appareil. L'objectif de ce guide détaillé n'est pas seulement de fournir des informations, mais aussi de changer la fa?on dont vous utilisez votre iPad, d'améliorer la gestion globale de votre batterie et de garantir que vous pouvez compter sur votre appareil plus longtemps sans avoir à le charger. En adoptant les pratiques décrites ici, vous faites un pas vers une utilisation plus efficace et plus consciente de la technologie, adaptée à vos besoins individuels et à vos modèles d'utilisation. Identifier les grands consommateurs d’énergie

Les 10 principales plateformes de trading Bitcoin en 2025 sont: Binance: volume de trading de pointe de l'industrie, un large éventail de choix d'actifs cryptographiques. OKX: forte liquidité, frais de négociation faibles, trading contractuel avancé. GATE.IO: Sélection étendue des actifs de cryptographie, des frais de transaction faibles et un soutien aux paiements internationaux. Kraken: hautement sécurisé, hautement liquide et fournit des paires de devises fiduciaires. Gémeaux: Super sécurisé, réglementé aux états-Unis, services professionnels pour les investisseurs institutionnels. Bitstamp: une ancienne plate-forme de trading, réglementée et très liquide.

Les échanges Bitcoin s?rs et fiables recommandés incluent Binance, Okx, Gate.io, Coinbase, Kraken et Huobi. 1. Binance prend en charge plus de 600 crypto-monnaies et fournit plusieurs fonctions de trading. 2. OKX convient aux investisseurs professionnels et fournit une variété de méthodes de trading. 3.Gate.io prend en charge 1 400 crypto-monnaies et est hautement sécurisé. 4.Coinbase convient aux débutants et possède une interface conviviale. 5.Kraken est connu pour sa sécurité et convient aux investisseurs institutionnels. 6.Huobi a bien performé sur le marché asiatique.

Les dix meilleurs top dix plates-formes de trading de crypto-monnaie: 1. Okx, 2. Binance, 3. Gate.io, 4. Huobi Global, 5. Kraken, 6. Coinbase, 7. Kucoin, 8. Bitfinex, 9. Crypto.com, 10. Gemini, ces échanges ont leurs propres caractéristiques, et les utilisateurs peuvent choisir la plate-forme qui les considère basées sur des facteurs tels que les facteurs, les fères de la sécurité.

La spéculation à court terme convient aux commer?ants avec une résistance au temps et à la pression, tandis que l'investissement à long terme convient aux détenteurs qui croient au développement à long terme de l'industrie. 1. à court terme convient au stade précoce d'un marché haussier et d'événements majeurs. Les stratégies de base sont le suivi des tendances et l'arbitrage des nouvelles, et une perte d'arrêt stricte est nécessaire. 2. Il convient à la technologie inférieure et perturbatrice sur le marché des ours à long terme. Les critères de sélection des pièces sont d'excellents principes fondamentaux et une économie token raisonnable, et des investissements fixes et un but d'arrêt dynamique sont nécessaires.

Alipay et Bitcoin Transactions: Un guide d'achat s?r et pratique Alipay est un outil de paiement largement utilisé en Chine. Cet article vous guidera sur la fa?on d'utiliser Alipay pour acheter Bitcoin en toute sécurité et, et expliquer les risques auxquels il faut faire attention. La fa?on la plus courante d'acheter indirectement le bitcoin à travers les échanges de crypto-monnaie est de négocier par des échanges de crypto-monnaie qui soutiennent Alipay. Cette méthode vous oblige généralement à acheter USDT (stablecoin) d'abord, puis à échanger USDT contre Bitcoin. Ce qui suit est un exemple de OUYI OKX Exchange, expliquez les étapes de l'opération en détail: enregistrez le compte officiel OUYI OKX: visitez OUYI OKX (cliquez pour vous inscrire), enregistrez un compte à l'aide de l'adresse e-mail et complétez

Les outils de quantification intégrés de l'échange comprennent: 1. Binance: fournit un module quantitatif à terme Binance Futures, des frais de manutention faible et prend en charge les transactions assistées par l'IA. 2. OKX (OUYI): prend en charge la gestion multi-comptes et le routage des ordres intelligents, et fournit un contr?le des risques au niveau institutionnel. Les plates-formes de stratégie quantitative indépendantes comprennent: 3. 3Commas: générateur de stratégie de glisser-déposer, adapté à l'arbitrage de la couverture multiplateforme. 4. Quadancy: Bibliothèque de stratégie d'algorithme de niveau professionnel, soutenant les seuils de risque personnalisés. 5. Pionex: stratégie prédéfinie intégrée, frais de transaction bas. Les outils de domaine vertical incluent: 6. CryptoPper: plate-forme quantitative basée sur le cloud, prenant en charge 150 indicateurs techniques. 7. Bitsgap:

Top 10 Applications d'échange de crypto-monnaie (2025): Binance: les options de liquidité et d'actifs maximales sont larges. OKX: Le premier choix pour le trading des dérivés de crypto-monnaie. GATE.IO: se spécialise dans le trading ponctuel et propose un large éventail de classes d'actifs. Bitget: un choix pour l'innovation dans le commerce social et la stratégie automatisée.
