目次
配列ソートを実装するためのPHP選択ソートメソッドの分析例
ホームページ バックエンド開発 PHPチュートリアル 配列ソートを実装するためのPHP選択ソート方法の例分析_PHPチュートリアル

配列ソートを実装するためのPHP選択ソート方法の例分析_PHPチュートリアル

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

配列ソートを実装するためのPHP選択ソートメソッドの分析例

この記事では主に、配列ソートを実装するためのPHP選択ソートメソッドの方法を紹介します。サンプルでは、​​選択ソートの原理と具体的な実装手順を分析します。友達が必要です

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

選択ソート方法の基本的な考え方: たとえば、大きいものから小さいものへとソートされた配列 $arr = array(2,6,3,9) があるとします。

最初の大きなループ:まず$arr[0]が最大値であると仮定し、それをそれぞれ$arr[1]〜$arr[3]と比較し、それが大きい場合は交換する処理。は次のとおりです (2 ,6,3,9)---2 と 6 の比--->(6,2,3,9)---6 と 3 の比--->( 6,2,3,9)- --6 と 9 の比率 --->(9,2,3,6)。ここの添字も変更する必要があることに注意してください。

2 番目の大きなループ: $arr[1] が最大であると仮定し ($arr[0] は除外)、それを $arr[2]~$arr[3] とそれぞれ比較します。プロセスは次のようになります (9,2, 3,6 )----2 と 3 の比率 --->(9,3,2,6)---3 と 6 の比率 --->(9,6,2,3)。

3 番目の大きなループ: $arr[2] が最大であると仮定し、$arr[3] と比較します。プロセスは次のようになります (9,6,2,3)---2 と 3 の比率--- >(9, 6,3,2)

同様にN-1大サイクル後もアレンジ可能です

PHPコードは次のとおりです。これも関数でカプセル化されています

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<?php

関数 selectSort(&$arr){

for($i=0;$i

$max = $arr[$i];

for($j=$i+1;$j

if($max<$arr[$j]){

$max = $arr[$j];

$arr[$j] = $arr[$i];

$arr[$i] = $max;

}

}

}

$arr を返す;

}

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

selectSort($myarr);

エコー「<pre>」;

print_r($myarr);

?>

コード分析:

最初の大きなサイクル:

$i=0 配列(2,6,3,9)
$j=1、2と6の比率を実行すると、$arr[0]=6、$arr[1]=2、$max=6、つまり(6,2,3,9)になります
$j=2、3と6の比率を実行: 実行しない
$j=3、9と6の比率を実行すると、$arr[0]=9、$arr[3]=6、$max=9となり、(9,2,3,6)になります

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

$i=1,$max=$arr[1]=2, 配列 (9,2,3,6)
$j=2、3と2の比率を実行すると、$arr[1]=3、$arr[2]=2、$max=3となり、(9,3,2,6)になります
$j=3、6と3の比率を実行すると、$arr[1]=6、$arr[3]=3、$max=6となり、(9,6,2,3)になります

3 番目のサイクル:

$i=2,$max=$arr[2]=2, 配列 (9,6,2,3)
$j=3、3と2の比率を実行すると、$max[2]=3、$arr[3]=2、$max=3となり、(9,6,3,2)になります

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

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

ホットな記事タグ

メモ帳++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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

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

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

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

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

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

CakePHP について話し合う

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

CakePHP クイックガイド

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

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

See all articles