ホームページ >バックエンド開発 >PHPチュートリアル >PHPクイックソート原理と実装方法の分析、PHPソート原理実装_PHPチュートリアル
この記事の例では、PHPクイックソート方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
リーリークイックソートはバブルソートの改良版です。その基本的な考え方は、一方向の並べ替えによって並べ替えられるデータを 2 つの独立した部分に分割し、一方の部分のすべてのデータがもう一方の部分のすべてのデータよりも小さくなり、データの 2 つの部分が順番に並べ替えられることです。迅速に並べ替えるために、並べ替えプロセス全体を再帰的に実行して、データ全体が順序付けられたシーケンスになるようにすることができます。
ソートする配列が A[1]...A[N] であるとします。まず、任意のデータ (通常は最初のデータ) をキー データとして選択し、それより小さいすべての数値をその前に置きます。このプロセスはクイックソートと呼ばれます。クイックソートのアルゴリズムは次のとおりです:
1) 2 つの変数 I と J を設定します。ソートが開始されると、I:=1、J:=N;
2) 最初の配列要素をキー データとして使用し、それを X、つまり X:=A[1];
に割り当てます。
3) J から前方に検索、つまり後方から前方に検索 (J:=J-1)、X より小さい最初の値を見つけて、その 2 つを交換します。
4) I から後方に検索します。つまり、前から後ろに検索し (I:=I+1)、X より大きい最初の値を見つけ、その 2 つを交換します。
5) I=J になるまでステップ 3 と 4 を繰り返します;
クイックソートとは、この処理を再帰的に呼び出すことです。49を中点としてデータ列を分割し、前後それぞれで同様のクイックソートを実行することで、データ列全体のクイックソートを完了し、最後にこのデータを回転させます。順序付けされたシーケンスへのシーケンス
ここの編集者は、将来の PHP プログラミングで組版のコードを作成するのに役立つように、この Web サイトで PHP の書式設定と美化組版ツールを推奨しています:
phpコードのオンライン書式設定および美化ツール: http://tools.jb51.net/code/phpformat
さらに、phpはC言語スタイルに属しているため、次のツールもphpコードをフォーマットできます:
C言語スタイル/HTML/CSS/jsonコードの整形および美化ツール:
http://tools.jb51.net/code/ccode_html_css_json
さらに PHP 関連のコンテンツに興味のある読者は、このサイトの特別トピック「完全な PHP 配列 (配列) 操作スキル」、「PHP ソート アルゴリズムの概要」、「PHP の一般的なトラバーサル アルゴリズムとテクニックの概要」をチェックしてください。 、「PHP データ構造とアルゴリズムのチュートリアル」、「php プログラミング アルゴリズムの概要」、「PHP 数学的演算スキルの概要」、「php 正規表現の使用法の概要」、「PHP の操作と演算子の使用法の概要」、「php 文字列の使用法の概要」、「 PHPにおける一般的なデータベース操作スキルのまとめ
この記事が PHP プログラミングのすべての人に役立つことを願っています。
http://www.bkjia.com/PHPjc/1133075.html
)