一般的な PHP アルゴリズム [バブル ソート、クイック ソート、挿入ソート、丸めソート、二分探索、.]
一般的な PHP アルゴリズム [バブル ソート、クイック ソート、挿入ソート、選択ソート、バイナリ検索、..]
// 冒泡排序 function bubblesort($arr) { for($i=0,$j=count($arr); $i<$j; $i++) { for($k=$j-1; $k>$i; $k--) { if ($arr[$k] < $arr[$k-1]) list($arr[$k-1], $arr[$k]) = array($arr[$k], $arr[$k-1]); } } return $arr; } $arr = array(1,4,14,3,56,23,435,2,234,2,33,23,123); print_r(bubblesort($arr));
// 快速排序 function quicksort($arr) { if(($count = count($arr)) <= 1 ) return $arr; $base = $arr[0]; $left = $right = array(); for($i=1; $i<$count; $i++) { if($arr[$i] <= $base) $left[] = $arr[$i]; else $right[] = $arr[$i]; } $left = quicksort($left); $right = quicksort($right); return array_merge($left, array($base), $right); } echo join(',', quicksort(array(1,3,23,5,234,65,6)));?
// 插入排序 function insertsort($arr) { for($i=1, $j=count($arr); $i<$j; $i++) { $k = $i; while($k > 0 && $arr[$k-1] > $arr[$k]) { list($arr[$k], $arr[$k-1]) = array($arr[$k-1], $arr[$k]); $k--; } } return $arr; } $array=array(10,8,7,5,1,2,3,4); print_r(insertsort($array));
?
// 选择排序, (非递归) function selectsort($arr) { for($i=0, $j=count($arr); $i<=$j; $i++) { $min = $i; $temp = $arr[$i]; for($k=$i+1; $k<$j; $k++) { if($temp > $arr[$k]) { $min = $k; $temp = $arr[$k]; } } if($min != $i) list($arr[$min], $arr[$i]) = array($arr[$i], $arr[$min]); } return $arr; } $arr = array(9,3,11,23,90,99,12,34,22,87,32); print_r(selectsort($arr));
?
// 选择排序(递归实现) function selectsort2($arr, $start = 0) { if(($count = count($arr)) == $start + 1) return $arr; $new = array(); $min = $arr[$start]; $min_index = $start; for($i=$start+1; $i<$count-1; $i++) { if($arr[$i] < $min) { $min = $arr[$i]; $min_index = $i; } } if($arr[$start] != $min) list($arr[$start], $arr[$min_index]) = array($arr[$min_index], $arr[$start]); return selectsort($arr, $start + 1); } $arr = array(9,3,11,23,90,99,12,34,22,87,32); print_r(selectsort($arr));
?
?
<?php // 二分法查找 function binarysearch($arr, $value, $start = 0, $end = NULL) { if($end == NULL) $end = count($arr) - 1; $index = floor(($start+$end)/2); $base = $arr[$index]; if($value < $base) return binarysearch($arr, $value, $start, $index-1); else if($value > $base) return binarysearch($arr, $value, $index+1, $end); else return $index; } $arr = array(1, 3, 5, 6, 7, 8, 10, 12, 14, 16, 18, 20); $value = 8; echo binarysearch($arr, $value);
続きます...

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











C 言語における return の使い方は、 1. 戻り値の型が void の関数については、return 文を使用して関数の実行を早期に終了することができます; 2. 戻り値の型が void ではない関数については、 return ステートメントは、関数の実行を終了するためのものです。結果は呼び出し元に返されます。 3. 関数の実行を早期に終了します。関数内で return ステートメントを使用して、関数の実行を早期に終了することもできます。関数が値を返さない場合。

Docker の起動に失敗した場合の解決策: 1. 実行ステータスを確認し、「echo 3 > /proc/sys/vm/drop_caches」コマンドを使用して占有メモリを解放します; 2. 「$netstat -nltp|grep .. .」を使用します。 「」コマンドでポートが占有されているかどうかを確認します。オンライン後に占有されていることが判明した場合は、空いているポートに変更して再起動してください。

ソースコード: publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}#出力 上記のコードの出力は、単純に次のように結論付けることができます:finally の前に return が実行されます。バイトコード レベルで何が起こるかを見てみましょう。以下は、case1 メソッドのバイトコードの一部をインターセプトし、ソース コードを比較して、各命令の意味に注釈を付けます。

Count 関数は、指定された範囲内の数値の数をカウントするために使用されます。テキスト、論理値、NULL 値は無視されますが、空のセルはカウントされます。Count 関数は、実際の数値を含むセルの数のみをカウントします。 CountA 関数は、指定された範囲内の空でないセルの数をカウントするために使用されます。実際の数値を含むセルを数えるだけでなく、テキスト、論理値、数式を含む空でないセルの数も数えます。

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

PHP でプログラミングする場合、多くの場合、配列をマージする必要があります。 PHP には、配列のマージを完了するための array_merge() 関数が用意されていますが、配列内に同じキーが存在する場合、この関数は元の値を上書きします。この問題を解決するために、PHP は配列をマージして同じキーの値を保持できる array_merge_recursive() 関数を言語で提供し、プログラム設計をより柔軟にします。配列マージ

PHP には、配列操作をより便利かつ高速にする強力な配列関数が多数あります。 2 つの配列を結合して連想配列にする必要がある場合、PHP の array_combine 関数を使用してこの操作を実行できます。この関数は、実際には、ある配列のキーを別の配列の値として新しい連想配列に結合するために使用されます。次に、PHP の array_combine 関数を使用して 2 つの配列を結合して連想配列にする方法を説明します。 array_comb について学ぶ

Vue3.2 セットアップ構文シュガーは、単一ファイル コンポーネント (SFC) で結合された API を使用して、Vue3.0 の面倒なセットアップを解決するコンパイル時構文シュガーです。宣言された変数、関数、インポートによって導入されたコンテンツは、インポートによって公開されます。使用上の問題点 1. 宣言した変数、関数、import で導入した内容を使用中に return する必要はなく、糖衣構文を使用することができます。 // 導入した内容をインポート import{getToday }from'./utils'//variable constmsg='Hello !'//function func
