目次
配列ソートを実装するためのPHP挿入ソートメソッドの例
ホームページ バックエンド開発 PHPチュートリアル 配列ソートを実装するための PHP 挿入ソートメソッド example_PHP チュートリアル

配列ソートを実装するための PHP 挿入ソートメソッド example_PHP チュートリアル

Jul 13, 2016 am 10:04 AM
php 主要 事例分析 成し遂げる 選別 入れる 配列 記事

配列ソートを実装するためのPHP挿入ソートメソッドの例

この記事では、主に配列ソートを実装するためのPHP挿入ソートメソッドを紹介します。この例では、挿入ソートメソッドの原理と具体的な実装スキルを分析します。必要な場合は参考にしてください

この記事の例では、PHP の挿入ソート方法を使用して配列ソートを実装する方法を説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:

挿入ソート方法の基本的な考え方: 同じ例を使用して、引き続き $arr = array(2,6,3,9) を使用して、大きいものから小さいものへソートします。

実装原理: (実際に作成せずに) 順序付けられた配列 $arr = array(2) があると仮定します。$arr[1]=6 を使用してそれと比較し、6>2 の場合は $arr[0] を使用します。次に、$arr[1] の位置に移動し、$arr[0] の位置に 6 が挿入されます。次に、$arr[2]=3 と $arr[1]=2, 3>2 が比較され、$arr[1]=2 は $arr[2] の位置、つまり元の $arr[3] に移動し続けます。 ]=3 $arr[1] の位置に挿入し、引き続き終了位置に 9 を挿入します。最終結果は (9,6,3,2) です。並べ替えは、count($arr)-1 の大きなループの後にも実行できます。

コードパターン分析:

最初の大きなサイクル: $[1] と $[0] の比率;
2 番目の大きなサイクル: $[2] 対 $[1]、$[1] 対 $[0]; 3 番目の大きなサイクル: $[3] 対 $[2]、$[2] 対 $[1]、$[1] 対 $[0];
PHP コードは使いやすさを考慮して関数のカプセル化を使用しています

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

関数 insertSort(&$arr){

for($i=1;$i

//$insertVal は挿入される番号です

for($j=$i;$j>0;$j--){

if($arr[$j]>$arr[$j-1]){

$insertVal = $arr[$j];

$arr[$j] = $arr[$j-1];

$arr[$j-1] = $insertVal;

}

}

}

}

$myarr = 配列(2,6,3,9);

insertSort($myarr);

エコー「

」;
            

print_r($myarr);

?>

コード実装分析:

最初の大きなサイクル:

$i=1 配列(2,6,3,9)

$j=1 6 と 2 の比率を実行します: $arr[1]=2;$arr[0]=6, get (6,2,3,9)


2 番目の大きなサイクル:

$i=2 配列(6,2,3,9)

$j=2 は 3 と 2 の比率を実行します。$arr[2]=2、$arr[1]=3 となり、(6,3,2,9) が得られます

$j--,$j=1 $arr[1] と $arr[0] の比率を実行: 条件が満たされません

3 番目のサイクル:

$i=3 配列(6,3,2,9)

$j=3 は 9 と 2 の比率を実行します。$arr[3]=2、$arr[2]=9 となり、(6,3,9,2) が得られます

$j--,$j=2 9と3の比率を実行すると、$arr[2]=3, $arr[1]=9となり、(6,9,3,2)が得られます
$j--,$j=1 は 9 と 6 の比率を実行します。$arr[1]=5、$arr[0]=9 となり、(9,6,3,2) が得られます

この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

http://www.bkjia.com/PHPjc/966909.html

tru​​ehttp://www.bkjia.com/PHPjc/966909.html技術記事配列ソートを実現するための PHP 挿入ソートメソッドの例 この記事では主に、配列ソートを実装するための PHP 挿入ソートメソッドを紹介します。この例では、挿入ソートメソッドの原理と具体的な実装スキルを分析します。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles