Table des matières
Quick Sort In-place Implementation,quicksort
Maison 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> ?>
Copier après la connexion

 

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Grow A Garden - Guide de mutation complet
4 Il y a quelques semaines By DDD
<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
<🎜> Obscur: Expedition 33 - Comment obtenir des catalyseurs de chrome parfaits
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel Java
1677
14
Tutoriel PHP
1278
29
Tutoriel C#
1257
24
Explorez les principes sous-jacents et la sélection d'algorithmes de la fonction de tri C++ Explorez les principes sous-jacents et la sélection d'algorithmes de la fonction de tri C++ Apr 02, 2024 pm 05:36 PM

La couche inférieure de la fonction de tri C++ utilise le tri par fusion, sa complexité est O(nlogn) et propose différents choix d'algorithmes de tri, notamment le tri rapide, le tri par tas et le tri stable.

Comment implémenter les opérations de tri par glisser-déposer et de glisser-déposer dans Uniapp Comment implémenter les opérations de tri par glisser-déposer et de glisser-déposer dans Uniapp Oct 19, 2023 am 09:39 AM

Uniapp est un framework de développement multiplateforme. Ses puissantes capacités cross-end permettent aux développeurs de développer diverses applications rapidement et facilement. Il est également très simple d'implémenter des opérations de tri et de glisser-déposer dans Uniapp, et il peut prendre en charge les opérations de glisser-déposer d'une variété de composants et d'éléments. Cet article expliquera comment utiliser Uniapp pour implémenter des opérations de tri et de glisser-déposer par glisser-déposer, et fournira des exemples de code spécifiques. La fonction de tri par glisser-déposer est très courante dans de nombreuses applications. Par exemple, elle peut être utilisée pour implémenter le tri par glisser-déposer des listes, le tri par glisser-déposer des icônes, etc. Ci-dessous nous listons

Trier le tableau à l'aide de la fonction Array.Sort en C# Trier le tableau à l'aide de la fonction Array.Sort en C# Nov 18, 2023 am 10:37 AM

Titre : Exemple d'utilisation de la fonction Array.Sort pour trier un tableau en C# Texte : En C#, un tableau est une structure de données couramment utilisée, et il est souvent nécessaire de trier le tableau. C# fournit la classe Array, qui possède la méthode Sort pour trier facilement les tableaux. Cet article explique comment utiliser la fonction Array.Sort en C# pour trier un tableau et fournit des exemples de code spécifiques. Tout d’abord, nous devons comprendre l’utilisation de base de la fonction Array.Sort. Tableau.Donc

Pourquoi list.sort() ne renvoie-t-il pas une liste triée en Python ? Pourquoi list.sort() ne renvoie-t-il pas une liste triée en Python ? Sep 18, 2023 am 09:29 AM

Exemple Dans cet exemple, nous examinons d'abord l'utilisation de list.sort() avant de continuer. Ici, nous avons créé une liste et l'avons triée par ordre croissant à l'aide de la méthode sort() - #CreatingaListmyList=["Jacob","Harry","Mark","Anthony"]#DisplayingtheListprint("List=",myList)# Trier les listes par ordre croissant de ma liste .sort(

Nouvelle fonction de tri numérique dans PHP8.1 Nouvelle fonction de tri numérique dans PHP8.1 Jul 09, 2023 pm 10:07 PM

Nouvelle fonction de tri numérique dans PHP8.1 PHP est un langage de script open source largement utilisé dans le développement Web. Non seulement il est puissant, mais il dispose également d’une riche bibliothèque de fonctions intégrée. Dans la version récemment publiée de PHP 8.1, certaines fonctionnalités et fonctions intéressantes ont été ajoutées, notamment des fonctions de tri numérique. Ces nouvelles fonctions peuvent permettre aux développeurs de trier plus facilement les tableaux numériques, améliorant ainsi l'efficacité du développement et la lisibilité du code. Dans les versions précédentes de PHP, nous utilisions généralement le logarithme de la fonction sort() ou rsort()

Comment trier une liste à l'aide de la fonction List.Sort en C# Comment trier une liste à l'aide de la fonction List.Sort en C# Nov 17, 2023 am 10:58 AM

Comment trier une liste à l'aide de la fonction List.Sort en C# Dans le langage de programmation C#, nous avons souvent besoin de trier la liste. La fonction Sort de la classe List est un outil puissant conçu à cet effet. Cet article explique comment utiliser la fonction List.Sort en C# pour trier une liste et fournit des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et appliquer cette fonction. La fonction List.Sort est une fonction membre de la classe List, utilisée pour trier les éléments de la liste. Cette fonction reçoit

Utilisez la fonction PHP 'sort' pour trier un tableau par ordre croissant Utilisez la fonction PHP 'sort' pour trier un tableau par ordre croissant Jul 25, 2023 am 09:28 AM

Trier un tableau par ordre croissant à l'aide de la fonction PHP "sort" En PHP, vous pouvez facilement trier un tableau à l'aide des fonctions intégrées. Parmi elles, la fonction de tri est l'une des fonctions les plus couramment utilisées, qui permet de trier le tableau par ordre croissant. Cet article explique comment utiliser la fonction de tri et donne des exemples de code correspondants. La syntaxe de la fonction de tri est la suivante : sort(array&$array,int$sort_flags=SORT_REGULAR):boo

Comment utiliser correctement la fonction de tri C++ pour implémenter une fonction de tri personnalisée Comment utiliser correctement la fonction de tri C++ pour implémenter une fonction de tri personnalisée Apr 02, 2024 pm 06:09 PM

La fonction de tri utilise une fonction de comparaison personnalisée pour implémenter un tri personnalisé : écrivez une fonction de comparaison : spécifiez les règles de tri, définissez les types de paramètres et renvoyez les valeurs. Appelez la fonction de tri : transmettez la fonction de comparaison personnalisée comme troisième paramètre pour trier les éléments du conteneur. Exemple : Triez les entiers par ordre décroissant et les chaînes selon des règles personnalisées (chaîne vide en premier, longueur en premier, ordre lexicographique).

See all articles