Inhaltsverzeichnis
Quick Sort In-place Implementation,quicksort
Heim php教程 php手册 Quick Sort In-place Implementation,quicksort

Quick Sort In-place Implementation,quicksort

Jun 13, 2016 am 09:21 AM
sort

Quick Sort In-place Implementation,quicksort

在线运行PHP http://www.compileonline.com/execute_php_online.php

<span> 1</span> <?<span>php
</span><span> 2</span> <span>function</span> swap( &<span>$a</span>, &<span>$b</span><span> )
</span><span> 3</span> <span>{
</span><span> 4</span>     <span>$c</span> = <span>$a</span><span>;
</span><span> 5</span>     <span>$a</span> = <span>$b</span><span>;
</span><span> 6</span>     <span>$b</span> = <span>$c</span><span>;
</span><span> 7</span> <span>}
</span><span> 8</span> 
<span> 9</span> <span>/*</span><span>*
</span><span>10</span> <span>* quick sort
</span><span>11</span> <span>* ascend
</span><span>12</span> <span>* in-place
</span><span>13</span> <span>*/</span>
<span>14</span> <span>function</span> quick_sort( &<span>$a</span><span> )
</span><span>15</span> <span>{
</span><span>16</span>     <span>$s</span> = <span>count</span>( <span>$a</span> ); <span>//</span><span> size of a</span>
<span>17</span>     <span>if</span> ( <span>$s</span> < 2 ) <span>return</span><span>;
</span><span>18</span>     <span>$i</span> = 0; <span>//</span><span> index of pivot, for tracking pivot</span>
<span>19</span>     <span>$pivot</span> = <span>$a</span>[<span>$i</span><span>];
</span><span>20</span>     <span>$l</span> = 0; <span>//</span><span> swap listener, if listens no swap, sort fini
</span><span>21</span> 
<span>22</span> <span>    // swap those smaller than pivot to the left</span>
<span>23</span>     <span>for</span> ( <span>$m</span> = 0; <span>$m</span> < <span>$s</span>; <span>$m</span>++<span> )
</span><span>24</span> <span>    {
</span><span>25</span>         <span>if</span> ( <span>$a</span>[<span>$m</span>] < <span>$a</span>[<span>$i</span><span>] )
</span><span>26</span> <span>        {
</span><span>27</span>             swap( <span>$a</span>[<span>$m</span>], <span>$a</span>[<span>$i</span><span>] );
</span><span>28</span>             <span>$i</span> = <span>$m</span><span>;
</span><span>29</span>             <span>$l</span>++<span>;
</span><span>30</span> <span>        }
</span><span>31</span> <span>    }
</span><span>32</span> 
<span>33</span>     <span>//</span><span> swap those larger than pivot to the right</span>
<span>34</span>     <span>for</span> ( <span>$n</span> = 0; <span>$n</span> < <span>$i</span>; <span>$n</span>++<span>)
</span><span>35</span> <span>    {
</span><span>36</span>         <span>if</span> ( <span>$a</span>[<span>$n</span>] > <span>$a</span>[<span>$i</span><span>] )
</span><span>37</span> <span>        {
</span><span>38</span>             swap( <span>$a</span>[<span>$n</span>], <span>$a</span>[<span>$i</span><span>] );
</span><span>39</span>             <span>$i</span> = <span>$n</span><span>;
</span><span>40</span>             <span>$l</span>++<span>;
</span><span>41</span> <span>        }
</span><span>42</span> <span>    }
</span><span>43</span> 
<span>44</span>     <span>if</span> ( <span>$l</span> == 0 ) <span>return</span><span>;
</span><span>45</span>     <span>else</span> <span>$l</span> = 0<span>;
</span><span>46</span>     quick_sort( <span>$a</span><span> );
</span><span>47</span> <span>}
</span><span>48</span> 
<span>49</span> <span>$arr</span> = <span>range</span>( 9, 0<span> );
</span><span>50</span> quick_sort( <span>$arr</span><span> );
</span><span>51</span> <span>echo</span> <span>implode</span>( ', ', <span>$arr</span><span> );
</span><span>52</span> ?>
Nach dem Login kopieren

 

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

Video Face Swap

Video Face Swap

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

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)

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.

So implementieren Sie Drag-and-Drop-Sortierung und Drag-and-Drop-Vorgänge in Uniapp So implementieren Sie Drag-and-Drop-Sortierung und Drag-and-Drop-Vorgänge in Uniapp Oct 19, 2023 am 09:39 AM

Uniapp ist ein plattformübergreifendes Entwicklungsframework, mit dem Entwickler schnell und einfach verschiedene Anwendungen entwickeln können. Es ist auch sehr einfach, Drag-and-Drop-Sortierung und Drag-and-Drop-Vorgänge in Uniapp zu implementieren, und es kann Drag-and-Drop-Vorgänge für eine Vielzahl von Komponenten und Elementen unterstützen. In diesem Artikel wird erläutert, wie Sie mit Uniapp Drag-and-Drop-Sortierung und Drag-and-Drop-Vorgänge implementieren, und es werden spezifische Codebeispiele bereitgestellt. Die Drag-and-Drop-Sortierfunktion ist in vielen Anwendungen sehr verbreitet. Sie kann beispielsweise zum Implementieren der Drag-and-Drop-Sortierung von Listen, der Drag-and-Drop-Sortierung von Symbolen usw. verwendet werden. Nachfolgend listen wir auf

Array mit der Array.Sort-Funktion in C# sortieren Array mit der Array.Sort-Funktion in C# sortieren Nov 18, 2023 am 10:37 AM

Titel: Beispiel für die Verwendung der Array.Sort-Funktion zum Sortieren eines Arrays in C#. Text: In C# ist Array eine häufig verwendete Datenstruktur, und häufig sind Array-Sortiervorgänge erforderlich. C# stellt die Array-Klasse bereit, die über die Sort-Methode verfügt, um Arrays bequem zu sortieren. In diesem Artikel wird gezeigt, wie Sie ein Array mithilfe der Array.Sort-Funktion in C# sortieren, und es werden spezifische Codebeispiele bereitgestellt. Zunächst müssen wir die grundlegende Verwendung der Array.Sort-Funktion verstehen. Array.So

Warum gibt list.sort() in Python keine sortierte Liste zurück? Warum gibt list.sort() in Python keine sortierte Liste zurück? Sep 18, 2023 am 09:29 AM

Beispiel In diesem Beispiel schauen wir uns zunächst die Verwendung von list.sort() an, bevor wir fortfahren. Hier haben wir eine Liste erstellt und sie mit der Methode sort() in aufsteigender Reihenfolge sortiert - #CreatingaListmyList=["Jacob","Harry","Mark","Anthony"]#DisplayingtheListprint("List=",myList)# SorttheListsinAscendingOrdermyList .sort(

So sortieren Sie eine Liste mithilfe der List.Sort-Funktion in C# So sortieren Sie eine Liste mithilfe der List.Sort-Funktion in C# Nov 17, 2023 am 10:58 AM

So sortieren Sie eine Liste mithilfe der List.Sort-Funktion in C#. In der Programmiersprache C# müssen wir die Liste häufig sortieren. Die Sortierfunktion der List-Klasse ist ein leistungsstarkes Werkzeug, das für diesen Zweck entwickelt wurde. In diesem Artikel wird die Verwendung der List.Sort-Funktion in C# zum Sortieren einer Liste vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern zu helfen, diese Funktion besser zu verstehen und anzuwenden. Die List.Sort-Funktion ist eine Mitgliedsfunktion der List-Klasse, die zum Sortieren von Elementen in der Liste verwendet wird. Diese Funktion empfängt

Neue numerische Sortierfunktion in PHP8.1 Neue numerische Sortierfunktion in PHP8.1 Jul 09, 2023 pm 10:07 PM

Neue numerische Sortierfunktion in PHP8.1 PHP ist eine weit verbreitete Open-Source-Skriptsprache, die häufig in der Webentwicklung verwendet wird. Es ist nicht nur leistungsstark, sondern verfügt auch über eine umfangreiche integrierte Funktionsbibliothek. In der kürzlich veröffentlichten Version von PHP 8.1 wurden einige interessante Features und Funktionen hinzugefügt, darunter numerische Sortierfunktionen. Diese neuen Funktionen können Entwicklern das Sortieren numerischer Arrays erleichtern und so die Entwicklungseffizienz und die Lesbarkeit des Codes verbessern. In früheren PHP-Versionen haben wir normalerweise den Logarithmus der Funktion sort() oder rsort() verwendet

Verwenden Sie die PHP-Funktion „sort', um ein Array in aufsteigender Reihenfolge zu sortieren Verwenden Sie die PHP-Funktion „sort', um ein Array in aufsteigender Reihenfolge zu sortieren Jul 25, 2023 am 09:28 AM

Sortieren Sie ein Array in aufsteigender Reihenfolge mit der PHP-Funktion „sort“. In PHP können Sie ein Array mithilfe integrierter Funktionen einfach sortieren. Unter diesen ist die Sortierfunktion eine der am häufigsten verwendeten Funktionen, die das Array in aufsteigender Reihenfolge sortieren kann. In diesem Artikel wird die Verwendung der Sortierfunktion vorgestellt und entsprechende Codebeispiele gegeben. Die Syntax der Sortierfunktion lautet wie folgt: sort(array&$array,int$sort_flags=SORT_REGULAR):boo

So verwenden Sie die C++-Sortierfunktion richtig, um eine benutzerdefinierte Sortierfunktion zu implementieren So verwenden Sie die C++-Sortierfunktion richtig, um eine benutzerdefinierte Sortierfunktion zu implementieren Apr 02, 2024 pm 06:09 PM

Die Sortierfunktion verwendet eine benutzerdefinierte Vergleichsfunktion, um eine benutzerdefinierte Sortierung zu implementieren: Schreiben Sie eine Vergleichsfunktion: Geben Sie die Sortierregeln an, definieren Sie Parametertypen und Rückgabewerte. Rufen Sie die Sortierfunktion auf: Übergeben Sie die benutzerdefinierte Vergleichsfunktion als dritten Parameter, um die Elemente im Container zu sortieren. Beispiel: Sortieren Sie Ganzzahlen in absteigender Reihenfolge und Zeichenfolgen nach benutzerdefinierten Regeln (leere Zeichenfolge zuerst, Länge zuerst, lexikografische Reihenfolge).

See all articles