Inhaltsverzeichnis
php实现四种基本排序算法
Heim Backend-Entwicklung PHP-Tutorial php实现四种基本排序算法_PHP教程

php实现四种基本排序算法_PHP教程

Jul 13, 2016 am 09:56 AM
算法

php实现四种基本排序算法

排序数组:$arr(1,43,54,62,21,66,32,78,36,76,39);

 

用四种排序算法进行排序

 

冒泡排序:(思路:对未排好序的数,从前往后两个数一次进行比较和调整,大的下沉,小的上升)

 

    $arr=array(1,43,54,62,21,66,32,78,36,76,39);   
    function bubbleSort($arr)  
    {   
    $len=count($arr);  
    //该层循环控制 需要冒泡的轮数  
    for($i=1;$i<$len;$i++)  
    { //该层循环用来控制每轮 冒出一个数 需要比较的次数  
    for($k=0;$k<$len-$i;$k++)  
    {  
    if($arr[$k]>$arr[$k+1])  
    {  
    $tmp=$arr[$k+1];  
    $arr[$k+1]=$arr[$k];  
    $arr[$k]=$tmp;  
    }  
    }  
    }  
    return $arr;  
    }  
Nach dem Login kopieren

选择排序:(在一组数中找出最小的那个数与第一个数交换位置,在剩下的数种再找出最小的与第二个位置的数交换,

一次继续,直到倒数第二个数与最后一个数比较位置)

    function selectSort($arr) {  
    //双重循环完成,外层控制轮数,内层控制比较次数  
    $len=count($arr);  
    for($i=0; $i<$len-1; $i++) {  
    //先假设最小的值的位置  
    $p = $i;  
      
    for($j=$i+1; $j<$len; $j++) {  
    //$arr[$p] 是当前已知的最小值  
    if($arr[$p] > $arr[$j]) {  
    //比较,发现更小的,记录下最小值的位置;并且在下次比较时采用已知的最小值进行比较。  
    $p = $j;  
    }  
    }  
    //已经确定了当前的最小值的位置,保存到$p中。如果发现最小值的位置与当前假设的位置$i不同,则位置互换即可。  
    if($p != $i) {  
    $tmp = $arr[$p];  
    $arr[$p] = $arr[$i];  
    $arr[$i] = $tmp;  
    }  
    }  
    //返回最终结果  
    return $arr;  
    }  
Nach dem Login kopieren

插入排序:(假设前面的数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。

如此反复循环,直到全部排好顺序)

    function insertSort($arr) {  
    $len=count($arr);   
    for($i=1, $i<$len; $i++) {  
    $tmp = $arr[$i];  
    //内层循环控制,比较并插入  
    for($j=$i-1;$j>=0;$j--) {  
    if($tmp < $arr[$j]) {  
    //发现插入的元素要小,交换位置,将后边的元素与前面的元素互换  
    $arr[$j+1] = $arr[$j];  
    $arr[$j] = $tmp;  
    } else {  
    //如果碰到不需要移动的元素,由于是已经排序好是数组,则前面的就不需要再次比较了。  
    break;  
    }  
    }  
    }  
    return $arr;  
    }  
Nach dem Login kopieren

快速排序:(选择一个基准元素,通常选择第一个元素或者最后一个元素。通过一趟扫描,将待排序列分成两部分,

一部分比基准元素小,一部分大于等于基准元素,此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地

排序划分的两部分。 )

function quickSort($arr) {  
//先判断是否需要继续进行  
$length = count($arr);  
if($length <= 1) {  
return $arr;  
}  
//选择第一个元素作为基准  
$base_num = $arr[0];  
//遍历除了标尺外的所有元素,按照大小关系放入两个数组内  
//初始化两个数组  
$left_array = array(); //小于基准的  
$right_array = array(); //大于基准的  
for($i=1; $i<$length; $i++) {  
if($base_num > $arr[$i]) {  
//放入左边数组  
$left_array[] = $arr[$i];  
} else {  
//放入右边  
$right_array[] = $arr[$i];  
}  
}  
//再分别对左边和右边的数组进行相同的排序处理方式递归调用这个函数  
$left_array = quick_sort($left_array);  
$right_array = quick_sort($right_array);  
//合并  
return array_merge($left_array, array($base_num), $right_array);  
}  
Nach dem Login kopieren


 

 

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/987358.htmlTechArticlephp实现四种基本排序算法 排序数组:$arr(1,43,54,62,21,66,32,78,36,76,39); 用四种排序算法进行排序 冒泡排序:(思路:对未排好序的数,从前往...
Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

CLIP-BEVFormer: Überwacht explizit die BEVFormer-Struktur, um die Leistung der Long-Tail-Erkennung zu verbessern CLIP-BEVFormer: Überwacht explizit die BEVFormer-Struktur, um die Leistung der Long-Tail-Erkennung zu verbessern Mar 26, 2024 pm 12:41 PM

Oben geschrieben und das persönliche Verständnis des Autors: Derzeit spielt das Wahrnehmungsmodul im gesamten autonomen Fahrsystem eine entscheidende Rolle Das Steuermodul im autonomen Fahrsystem trifft zeitnahe und korrekte Urteile und Verhaltensentscheidungen. Derzeit sind Autos mit autonomen Fahrfunktionen in der Regel mit einer Vielzahl von Dateninformationssensoren ausgestattet, darunter Rundumsichtkamerasensoren, Lidar-Sensoren und Millimeterwellenradarsensoren, um Informationen in verschiedenen Modalitäten zu sammeln und so genaue Wahrnehmungsaufgaben zu erfüllen. Der auf reinem Sehen basierende BEV-Wahrnehmungsalgorithmus wird von der Industrie aufgrund seiner geringen Hardwarekosten und einfachen Bereitstellung bevorzugt, und seine Ausgabeergebnisse können problemlos auf verschiedene nachgelagerte Aufgaben angewendet werden.

Implementierung von Algorithmen für maschinelles Lernen in C++: Häufige Herausforderungen und Lösungen Implementierung von Algorithmen für maschinelles Lernen in C++: Häufige Herausforderungen und Lösungen Jun 03, 2024 pm 01:25 PM

Zu den häufigsten Herausforderungen, mit denen Algorithmen für maschinelles Lernen in C++ konfrontiert sind, gehören Speicherverwaltung, Multithreading, Leistungsoptimierung und Wartbarkeit. Zu den Lösungen gehören die Verwendung intelligenter Zeiger, moderner Threading-Bibliotheken, SIMD-Anweisungen und Bibliotheken von Drittanbietern sowie die Einhaltung von Codierungsstilrichtlinien und die Verwendung von Automatisierungstools. Praktische Fälle zeigen, wie man die Eigen-Bibliothek nutzt, um lineare Regressionsalgorithmen zu implementieren, den Speicher effektiv zu verwalten und leistungsstarke Matrixoperationen zu nutzen.

Entdecken Sie die zugrunde liegenden Prinzipien und die Algorithmusauswahl der C++-Sortierfunktion Entdecken Sie die zugrunde liegenden Prinzipien und die Algorithmusauswahl der C++-Sortierfunktion Apr 02, 2024 pm 05:36 PM

Die unterste Ebene der C++-Sortierfunktion verwendet die Zusammenführungssortierung, ihre Komplexität beträgt O(nlogn) und bietet verschiedene Auswahlmöglichkeiten für Sortieralgorithmen, einschließlich schneller Sortierung, Heap-Sortierung und stabiler Sortierung.

Kann künstliche Intelligenz Kriminalität vorhersagen? Entdecken Sie die Möglichkeiten von CrimeGPT Kann künstliche Intelligenz Kriminalität vorhersagen? Entdecken Sie die Möglichkeiten von CrimeGPT Mar 22, 2024 pm 10:10 PM

Die Konvergenz von künstlicher Intelligenz (KI) und Strafverfolgung eröffnet neue Möglichkeiten zur Kriminalprävention und -aufdeckung. Die Vorhersagefähigkeiten künstlicher Intelligenz werden häufig in Systemen wie CrimeGPT (Crime Prediction Technology) genutzt, um kriminelle Aktivitäten vorherzusagen. Dieser Artikel untersucht das Potenzial künstlicher Intelligenz bei der Kriminalitätsvorhersage, ihre aktuellen Anwendungen, die Herausforderungen, denen sie gegenübersteht, und die möglichen ethischen Auswirkungen der Technologie. Künstliche Intelligenz und Kriminalitätsvorhersage: Die Grundlagen CrimeGPT verwendet Algorithmen des maschinellen Lernens, um große Datensätze zu analysieren und Muster zu identifizieren, die vorhersagen können, wo und wann Straftaten wahrscheinlich passieren. Zu diesen Datensätzen gehören historische Kriminalstatistiken, demografische Informationen, Wirtschaftsindikatoren, Wettermuster und mehr. Durch die Identifizierung von Trends, die menschliche Analysten möglicherweise übersehen, kann künstliche Intelligenz Strafverfolgungsbehörden stärken

Verbesserter Erkennungsalgorithmus: zur Zielerkennung in hochauflösenden optischen Fernerkundungsbildern Verbesserter Erkennungsalgorithmus: zur Zielerkennung in hochauflösenden optischen Fernerkundungsbildern Jun 06, 2024 pm 12:33 PM

01Ausblicksübersicht Derzeit ist es schwierig, ein angemessenes Gleichgewicht zwischen Detektionseffizienz und Detektionsergebnissen zu erreichen. Wir haben einen verbesserten YOLOv5-Algorithmus zur Zielerkennung in hochauflösenden optischen Fernerkundungsbildern entwickelt, der mehrschichtige Merkmalspyramiden, Multierkennungskopfstrategien und hybride Aufmerksamkeitsmodule verwendet, um die Wirkung des Zielerkennungsnetzwerks in optischen Fernerkundungsbildern zu verbessern. Laut SIMD-Datensatz ist der mAP des neuen Algorithmus 2,2 % besser als YOLOv5 und 8,48 % besser als YOLOX, wodurch ein besseres Gleichgewicht zwischen Erkennungsergebnissen und Geschwindigkeit erreicht wird. 02 Hintergrund und Motivation Mit der rasanten Entwicklung der Fernerkundungstechnologie wurden hochauflösende optische Fernerkundungsbilder verwendet, um viele Objekte auf der Erdoberfläche zu beschreiben, darunter Flugzeuge, Autos, Gebäude usw. Objekterkennung bei der Interpretation von Fernerkundungsbildern

Üben und denken Sie an die multimodale große Modellplattform DataCanvas von Jiuzhang Yunji Üben und denken Sie an die multimodale große Modellplattform DataCanvas von Jiuzhang Yunji Oct 20, 2023 am 08:45 AM

1. Die historische Entwicklung multimodaler Großmodelle zeigt den ersten Workshop zur künstlichen Intelligenz, der 1956 am Dartmouth College in den Vereinigten Staaten stattfand Pioniere der symbolischen Logik (außer dem Neurobiologen Peter Milner in der Mitte der ersten Reihe). Diese symbolische Logiktheorie konnte jedoch lange Zeit nicht verwirklicht werden und leitete in den 1980er und 1990er Jahren sogar den ersten KI-Winter ein. Erst mit der kürzlich erfolgten Implementierung großer Sprachmodelle haben wir entdeckt, dass neuronale Netze dieses logische Denken tatsächlich tragen. Die Arbeit des Neurobiologen Peter Milner inspirierte die spätere Entwicklung künstlicher neuronaler Netze, und aus diesem Grund wurde er zur Teilnahme eingeladen in diesem Projekt.

Anwendung von Algorithmen beim Aufbau einer 58-Porträt-Plattform Anwendung von Algorithmen beim Aufbau einer 58-Porträt-Plattform May 09, 2024 am 09:01 AM

1. Hintergrund des Baus der 58-Portrait-Plattform Zunächst möchte ich Ihnen den Hintergrund des Baus der 58-Portrait-Plattform mitteilen. 1. Das traditionelle Denken der traditionellen Profiling-Plattform reicht nicht mehr aus. Der Aufbau einer Benutzer-Profiling-Plattform basiert auf Data-Warehouse-Modellierungsfunktionen, um Daten aus mehreren Geschäftsbereichen zu integrieren, um genaue Benutzerporträts zu erstellen Und schließlich muss es über Datenplattformfunktionen verfügen, um Benutzerprofildaten effizient zu speichern, abzufragen und zu teilen sowie Profildienste bereitzustellen. Der Hauptunterschied zwischen einer selbst erstellten Business-Profiling-Plattform und einer Middle-Office-Profiling-Plattform besteht darin, dass die selbst erstellte Profiling-Plattform einen einzelnen Geschäftsbereich bedient und bei Bedarf angepasst werden kann. Die Mid-Office-Plattform bedient mehrere Geschäftsbereiche und ist komplex Modellierung und bietet allgemeinere Funktionen. 2.58 Benutzerporträts vom Hintergrund der Porträtkonstruktion im Mittelbahnsteig 58

Fügen Sie SOTA in Echtzeit hinzu und explodieren Sie! FastOcc: Schnellere Inferenz und ein einsatzfreundlicher Occ-Algorithmus sind da! Fügen Sie SOTA in Echtzeit hinzu und explodieren Sie! FastOcc: Schnellere Inferenz und ein einsatzfreundlicher Occ-Algorithmus sind da! Mar 14, 2024 pm 11:50 PM

Oben geschrieben & Das persönliche Verständnis des Autors ist, dass im autonomen Fahrsystem die Wahrnehmungsaufgabe eine entscheidende Komponente des gesamten autonomen Fahrsystems ist. Das Hauptziel der Wahrnehmungsaufgabe besteht darin, autonome Fahrzeuge in die Lage zu versetzen, Umgebungselemente wie auf der Straße fahrende Fahrzeuge, Fußgänger am Straßenrand, während der Fahrt angetroffene Hindernisse, Verkehrszeichen auf der Straße usw. zu verstehen und wahrzunehmen und so flussabwärts zu helfen Module Treffen Sie richtige und vernünftige Entscheidungen und Handlungen. Ein Fahrzeug mit autonomen Fahrfähigkeiten ist in der Regel mit verschiedenen Arten von Informationserfassungssensoren ausgestattet, wie z. B. Rundumsichtkamerasensoren, Lidar-Sensoren, Millimeterwellenradarsensoren usw., um sicherzustellen, dass das autonome Fahrzeug die Umgebung genau wahrnehmen und verstehen kann Elemente, die es autonomen Fahrzeugen ermöglichen, beim autonomen Fahren die richtigen Entscheidungen zu treffen. Kopf

See all articles