ホームページ >バックエンド開発 >PHPチュートリアル >PHPクイックソート原理と実装方法の分析、PHPソート原理実装_PHPチュートリアル

PHPクイックソート原理と実装方法の分析、PHPソート原理実装_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:50:48831ブラウズ

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

本当http://www.bkjia.com/PHPjc/1133075.html技術記事 PHP クイック ソートの原理と実装方法の分析、PHP ソート原理の実装、この記事では、例を示して PHP クイック ソート方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです: php$n = array('13',...
)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。