heapsort(PHP)
Jun 21, 2016 am 09:16 AM練習(xí)堆排序的一個(gè)程序
//堆排序應(yīng)用
class heapsort
? {
??? var $a;
??? function setarray($a)//取得數(shù)組
????? {
??????? $this->a=$a;
????? }
??? function runvalue($b,$c)//$a 代表數(shù)組,$b代表排序堆,$c代表結(jié)束點(diǎn),
????? {
??????? 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ù)組長(zhǎng)度
$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ù)輸入錯(cuò)誤!!
';
? }
//////
$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.'對(duì)具有'.$v.'個(gè)元素的數(shù)組排序,消耗了'.($ss2+$ss1).'秒時(shí)間';
//////
?>

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So optimieren Sie die Akkulaufzeit des iPad mit iPadOS 17.4 Die Verl?ngerung der Akkulaufzeit ist der Schlüssel zum mobilen Ger?teerlebnis, und das iPad ist ein gutes Beispiel. Wenn Sie das Gefühl haben, dass der Akku Ihres iPads zu schnell leer wird, machen Sie sich keine Sorgen, es gibt eine Reihe von Tricks und Optimierungen in iPadOS 17.4, die die Laufzeit Ihres Ger?ts deutlich verl?ngern k?nnen. Das Ziel dieses ausführlichen Leitfadens besteht nicht nur darin, Informationen bereitzustellen, sondern auch darin, die Art und Weise zu ?ndern, wie Sie Ihr iPad verwenden, Ihr gesamtes Batteriemanagement zu verbessern und sicherzustellen, dass Sie sich l?nger auf Ihr Ger?t verlassen k?nnen, ohne es aufladen zu müssen. Durch die übernahme der hier beschriebenen Vorgehensweisen machen Sie einen Schritt hin zu einem effizienteren und bewussteren Einsatz von Technologie, der auf Ihre individuellen Bedürfnisse und Nutzungsmuster zugeschnitten ist. Identifizieren Sie die gr??ten Energieverbraucher

Die Top 10 Bitcoin -Handelsplattformen im Jahr 2025 sind: Binance: Branchenführender Handelsvolumen, eine breite Palette von Auswahlm?glichkeiten für Krypto-Verm?genswerte. OKX: Starke Liquidit?t, niedrige Handelsgebühren, fortgeschrittener Vertragshandel. Gate.io: Umfangreiche Auswahl der Krypto -Verm?genswerte, niedrige Transaktionsgebühren und Unterstützung für internationale Zahlungen. Kraken: Hochsicher, hochflüssig und bietet Fiat -W?hrungspaare. Gemini: Super sicher, in den USA reguliert, professionelle Dienstleistungen für institutionelle Investoren. Bitstamp: Eine alte Handelsplattform, reguliert und hoch flüssig.

Zu den empfohlenen sicheren und zuverl?ssigen Bitcoin -B?rsen geh?ren Binance, OKX, Gate.io, Coinbase, Kraken und Huobi. 1. Binance unterstützt mehr als 600 Kryptow?hrungen und bietet mehrere Handelsfunktionen. 2. OKX eignet sich für professionelle Investoren und bietet eine Vielzahl von Handelsmethoden. 3.gate.io unterstützt 1.400 Kryptow?hrungen und ist sehr sicher. 4.CoinBase ist für Anf?nger geeignet und verfügt über eine benutzerfreundliche Schnittstelle. 5.Kraken ist bekannt für seine Sicherheit und eignet sich für institutionelle Anleger. 6.Huobi hat sich auf dem asiatischen Markt gut abgebildet.

Empfohlene Top Ten Cryptocurrency -Handelsplattformen: 1. OKX, 2. Binance, 3. Gate.io, 4. Huobi Global, 5. Kraken, 6. Coinbase, 7. Kucoin, 8. Bitfinex, 9. Crypto.com, 10. Gemini, diese B?rsen haben ihre eigenen Eigenschaften, und die Benutzer k?nnen sich auf die Zubeh?r von Fakten befassen.

Kurzfristige Spekulationen eignen sich für H?ndler mit Zeit und Druckresistenz, w?hrend langfristige Investitionen für Inhaber geeignet sind, die an die langfristige Entwicklung der Branche glauben. 1. Kurzfristig ist für die frühe Phase eines Bullenmarktes und Gro?ereignisse geeignet. Die Kernstrategien sind Trendverfolgungs- und Nachrichten -Arbitrage, und es ist ein strenger Stop -Loss erforderlich. 2. Es ist langfristig für die untere und disruptive Technologie auf dem B?renmarkt geeignet. Die Münzauswahlkriterien sind hervorragende Grundlagen und angemessene Token-Wirtschaft, und es sind feste Investitionen und dynamische Stopp-Profit-Profiten erforderlich.

Alipay- und Bitcoin -Transaktionen: Ein sicheres und bequemes Einkaufshandbuch ist in China ein weit verbreitetes Zahlungsinstrument. In diesem Artikel wird Sie mit Alipay, um Bitcoin sicher und bequem zu kaufen, zu veranlassen und die Risiken zu erkl?ren, auf die geachtet werden müssen. Die h?ufigste M?glichkeit, Bitcoin indirekt über Kryptow?hrungsb?rsen zu kaufen, besteht darin, durch Kryptow?hrungsb?rsen zu handeln, die Alipay unterstützen. Diese Methode erfordert normalerweise, dass Sie zuerst USDT (Stablecoin) kaufen und dann USDT gegen Bitcoin austauschen. Das Folgende ist ein Beispiel für Ouyi OKX Exchange, erl?utern Sie die Betriebsschritte im Detail: Registrieren Sie Ouyi OKX -Konto: Besuchen Sie die offizielle Website von Ouyi OKX (klicken Sie auf, um sich zu registrieren), registrieren Sie ein Konto mithilfe der E -Mail -Adresse und vervollst?ndigen

Zu den integrierten Quantisierungstools am Austausch geh?ren: 1. Binance: Binance Futures Quantitatives Modul, niedrige Handhabungsgebühren und unterstützt AI-unterstützte Transaktionen. 2. OKX (OUYI): Unterstützt Multi-Account-Management und intelligentes Auftragsrouting und bietet Risikokontrolle auf institutioneller Ebene. Zu den unabh?ngigen quantitativen Strategieplattformen geh?ren: 3. 3Commas: Drag & drop-Strategiegenerator, geeignet für Multi-Plattform-Absicherungs-Arbitrage. 4. Viercy: Algorithmus-Strategie-Bibliothek auf professioneller Ebene, unterstützt ma?geschneiderte Risikoschwellen. 5. Pionex: Integrierte 16 voreingestellte Strategie, niedrige Transaktionsgebühr. Zu den vertikalen Dom?nen-Tools geh?ren: 6. CryptoHopper: Cloud-basierte quantitative Plattform, die 150 technische Indikatoren unterstützen. 7. Bitsgap:

Top 10 Cryptocurrency Exchange -Anwendungen (2025): Binance: Die maximale Liquidit?ts- und Verm?gensoptionen sind weit. OKX: Die erste Wahl für den Handel mit Kryptow?hrungsderivaten. Gate.io: spezialisiert sich auf den Spothandel und verfügt über eine breite Palette von Anlageklassen. Bitget: Eine Wahl für Innovationen im sozialen Handel und die automatisierte Strategie.
