Quick Sort In-place Implementation,quicksort
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> ?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











C++sort 関数の最下層はマージ ソートを使用し、その複雑さは O(nlogn) で、クイック ソート、ヒープ ソート、安定したソートなど、さまざまなソート アルゴリズムの選択肢を提供します。

Uniapp はクロスプラットフォーム開発フレームワークであり、その強力なクロスエンド機能により、開発者はさまざまなアプリケーションを迅速かつ簡単に開発できます。 Uniapp でのドラッグ アンド ドロップの並べ替えとドラッグ アンド ドロップ操作の実装も非常に簡単で、さまざまなコンポーネントや要素のドラッグ アンド ドロップ操作をサポートできます。この記事では、Uniapp を使用してドラッグ アンド ドロップの並べ替えとドラッグ アンド ドロップ操作を実装する方法を紹介し、具体的なコード例を示します。ドラッグ アンド ドロップによる並べ替え機能は、多くのアプリケーションで非常に一般的であり、たとえば、リストのドラッグ アンド ドロップによる並べ替え、アイコンのドラッグ アンド ドロップによる並べ替えなどの実装に使用できます。以下に列挙します

タイトル: Array.Sort 関数を使用して C# で配列を並べ替える例 本文: C# では、配列は一般的に使用されるデータ構造であり、多くの場合、配列を並べ替える必要があります。 C# には Array クラスが用意されており、このクラスには配列を簡単に並べ替えるための Sort メソッドがあります。この記事では、C# で Array.Sort 関数を使用して配列を並べ替える方法を示し、具体的なコード例を示します。まず、Array.Sort 関数の基本的な使用法を理解する必要があります。 Array.So

例 この例では、続行する前に、まず list.sort() の使用法を確認します。ここでは、リストを作成し、sort() メソッドを使用して昇順に並べ替えています - #CreatingaListmyList=["Jacob","Harry","Mark","Anthony"]#DisplayingtheListprint("List=",myList)#リストを昇順で並べ替えますmyList .sort(

C# で List.Sort 関数を使用してリストを並べ替える方法 C# プログラミング言語では、リストを並べ替える必要があることがよくあります。 List クラスの Sort 関数は、この目的のために設計された強力なツールです。この記事では、C# で List.Sort 関数を使用してリストを並べ替える方法を紹介し、読者がこの関数をより深く理解し、適用できるように具体的なコード例を示します。 List.Sort 関数は List クラスのメンバー関数であり、リスト内の要素を並べ替えるために使用されます。この関数は受信します

PHP8.1 の新しい数値ソート機能 PHP は、Web 開発で広く使用されているオープンソースのスクリプト言語です。強力なだけでなく、豊富な組み込み関数ライブラリも備えています。最近リリースされたバージョンの PHP 8.1 では、数値ソート関数など、いくつかの興味深い機能が追加されました。これらの新しい関数により、開発者は数値配列を簡単に並べ替えることができ、開発効率とコードの可読性が向上します。過去の PHP バージョンでは、通常、sort() または rsort() 関数の対数を使用していました。

ソート関数は、カスタム比較関数を使用してカスタマイズされた並べ替えを実装します。比較関数を作成し、並べ替えルールを指定し、パラメータのタイプと戻り値を定義します。 sort 関数を呼び出します。カスタム比較関数を 3 番目のパラメーターとして渡して、コンテナー内の要素を並べ替えます。例: 整数を降順に並べ替え、文字列をカスタム ルール (空の文字列が最初、長さが最初、辞書順) に従って並べ替えます。

PHP関数「sort」を使って配列を昇順に並べ替える PHPでは、組み込み関数を使って簡単に配列を並べ替えることができます。その中でもsort関数は最もよく使われる関数の一つで、配列を昇順に並べ替えることができます。この記事では、sort 関数の使用方法と対応するコード例を紹介します。ソート関数の構文は次のとおりです。sort(array&$array,int$sort_flags=SORT_REGULAR):boo
