ホームページ php教程 php手册 排序算法之冒泡算法

排序算法之冒泡算法

Jun 13, 2016 am 10:58 AM
要素 バブル 選別 はい 比較する 単純 アルゴリズム 欲しい

冒泡算法是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

 


function BubbleSort($array){

    if (empty($array) || !is_array($array))

        return false;
    $len = count($array)-1;
    for($i = $len; $i > 0; $i-- ){
        for($j = 0; $j             if($array[$j+1]                 $temp = $array[$j];
                $array[$j] = $array[$j+1];
                $array[$j+1] = $temp;
            }
        }
    }
    return $array;
}

 

 

时间复杂度:O(n*n)

 


冒泡算法改进方法一:

如果某一次循环中没有发生任何的交换,说明数据已经排好序了,直接跳出程序。

function BubbleSort2($array)
{


    if (empty($array) || !is_array($array))

    return false;


    $len = count($array);
    $ischange = false;
    for($i = $len - 1 ;$i>0&&!$ischange;$i--)
    {
        $ischange = true;
        for($j=0; $j         {
            if($array[$j+1]             {
                $temp = $array[$j];
                $array[$j] = $array[$j + 1];
                $array[$j + 1] = $temp;
                $ischange=false;
            }
        }
    }
    return $array;
}

 

 

 

 

 

 

 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Xiaomi Mi 14 ProでNFC機能を有効にする方法は? Xiaomi Mi 14 ProでNFC機能を有効にする方法は? Mar 19, 2024 pm 02:28 PM

現在、携帯電話の高性能化・高機能化が進み、ほとんどの携帯電話にはモバイル決済や本人認証などに便利なNFC機能が搭載されています。ただし、一部の Xiaomi 14Pro ユーザーは、NFC 機能を有効にする方法がわからないかもしれません。次に詳しくご紹介していきます。 Xiaomi 14ProでNFC機能を有効にする方法は?ステップ 1: 携帯電話の設定メニューを開きます。ステップ 2: 「接続と共有」または「ワイヤレスとネットワーク」オプションを見つけてクリックします。ステップ 3: [接続と共有] または [ワイヤレスとネットワーク] メニューで、[NFC と支払い] を見つけてクリックします。ステップ 4: 「NFC スイッチ」を見つけてクリックします。通常、デフォルトはオフです。ステップ 5: NFC スイッチ ページで、スイッチ ボタンをクリックしてオンに切り替えます。

CLIP-BEVFormer: BEVFormer 構造を明示的に監視して、ロングテール検出パフォーマンスを向上させます。 CLIP-BEVFormer: BEVFormer 構造を明示的に監視して、ロングテール検出パフォーマンスを向上させます。 Mar 26, 2024 pm 12:41 PM

上記および筆者の個人的な理解: 現在、自動運転システム全体において、認識モジュールが重要な役割を果たしている。道路を走行する自動運転車は、認識モジュールを通じてのみ正確な認識結果を得ることができる。下流の規制および制御モジュール自動運転システムでは、タイムリーかつ正確な判断と行動決定が行われます。現在、自動運転機能を備えた自動車には通常、サラウンドビューカメラセンサー、ライダーセンサー、ミリ波レーダーセンサーなどのさまざまなデータ情報センサーが搭載されており、さまざまなモダリティで情報を収集して正確な認識タスクを実現しています。純粋な視覚に基づく BEV 認識アルゴリズムは、ハードウェア コストが低く導入が容易であるため、業界で好まれており、その出力結果はさまざまな下流タスクに簡単に適用できます。

C++ での機械学習アルゴリズムの実装: 一般的な課題と解決策 C++ での機械学習アルゴリズムの実装: 一般的な課題と解決策 Jun 03, 2024 pm 01:25 PM

C++ の機械学習アルゴリズムが直面する一般的な課題には、メモリ管理、マルチスレッド、パフォーマンスの最適化、保守性などがあります。解決策には、スマート ポインター、最新のスレッド ライブラリ、SIMD 命令、サードパーティ ライブラリの使用、コーディング スタイル ガイドラインの遵守、自動化ツールの使用が含まれます。実践的な事例では、Eigen ライブラリを使用して線形回帰アルゴリズムを実装し、メモリを効果的に管理し、高性能の行列演算を使用する方法を示します。

C++sort 関数の基礎となる原則とアルゴリズムの選択を調べる C++sort 関数の基礎となる原則とアルゴリズムの選択を調べる Apr 02, 2024 pm 05:36 PM

C++sort 関数の最下層はマージ ソートを使用し、その複雑さは O(nlogn) で、クイック ソート、ヒープ ソート、安定したソートなど、さまざまなソート アルゴリズムの選択肢を提供します。

WPS Word で行間を設定して文書をきれいにする方法 WPS Word で行間を設定して文書をきれいにする方法 Mar 20, 2024 pm 04:30 PM

弊社でよく使っているオフィスソフトはWPSですが、長文の編集ではフォントが小さすぎて見づらい場合が多いので、フォントや文書全体を調整します。たとえば、文書の行間を調整すると、文書全体が非常に鮮明になります。友達全員にこの操作手順を覚えてもらうことをお勧めします。今日はそれを共有します。具体的な操作手順は次のとおりです。ぜひ見てください。調整したいWPSテキストファイルを開き、[スタート]メニューの段落設定ツールバーに小さな行間設定アイコン(図の赤丸部分)が表示されます。 2. 行間隔設定の右下隅にある小さな逆三角形をクリックすると、対応する行間隔の値が表示され、行間隔の 1 ~ 3 倍を選択できます (図の矢印で示すように)。 3. または、段落を右クリックすると、段落が表示されます。

人工知能は犯罪を予測できるのか? CrimeGPT の機能を調べる 人工知能は犯罪を予測できるのか? CrimeGPT の機能を調べる Mar 22, 2024 pm 10:10 PM

人工知能 (AI) と法執行機関の融合により、犯罪の予防と検出の新たな可能性が開かれます。人工知能の予測機能は、犯罪行為を予測するためにCrimeGPT (犯罪予測技術) などのシステムで広く使用されています。この記事では、犯罪予測における人工知能の可能性、その現在の応用、人工知能が直面する課題、およびこの技術の倫理的影響について考察します。人工知能と犯罪予測: 基本 CrimeGPT は、機械学習アルゴリズムを使用して大規模なデータセットを分析し、犯罪がいつどこで発生する可能性があるかを予測できるパターンを特定します。これらのデータセットには、過去の犯罪統計、人口統計情報、経済指標、気象パターンなどが含まれます。人間のアナリストが見逃す可能性のある傾向を特定することで、人工知能は法執行機関に力を与えることができます

TrendX Research Institute: Merlin Chain プロジェクトの分析と生態学的インベントリ TrendX Research Institute: Merlin Chain プロジェクトの分析と生態学的インベントリ Mar 24, 2024 am 09:01 AM

3月2日の統計によると、ビットコインの第2層ネットワークMerlinChainのTVL総額は30億米ドルに達した。このうち、ビットコイン環境資産は90.83%を占め、15億9600万米ドル相当のBTCと4億400万米ドル相当のBRC-20資産が含まれている。先月、マーリンチェーンの合計 TVL はステーキング活動の開始から 14 日以内に 19 億 7,000 万米ドルに達し、昨年 11 月に開始され、同じく最新で同様に目を引くブラストを上回りました。 2月26日、MerlinChainエコシステムにおけるNFTの総額は4億2,000万米ドルを超え、イーサリアムに次いでNFT市場価値が最も高いパブリックチェーンプロジェクトとなった。プロジェクトの紹介 MerlinChain は OKX サポートです

改良された検出アルゴリズム: 高解像度の光学式リモートセンシング画像でのターゲット検出用 改良された検出アルゴリズム: 高解像度の光学式リモートセンシング画像でのターゲット検出用 Jun 06, 2024 pm 12:33 PM

01 今後の概要 現時点では、検出効率と検出結果の適切なバランスを実現することが困難です。我々は、光学リモートセンシング画像におけるターゲット検出ネットワークの効果を向上させるために、多層特徴ピラミッド、マルチ検出ヘッド戦略、およびハイブリッドアテンションモジュールを使用して、高解像度光学リモートセンシング画像におけるターゲット検出のための強化されたYOLOv5アルゴリズムを開発しました。 SIMD データセットによると、新しいアルゴリズムの mAP は YOLOv5 より 2.2%、YOLOX より 8.48% 優れており、検出結果と速度のバランスがより優れています。 02 背景と動機 リモート センシング技術の急速な発展に伴い、航空機、自動車、建物など、地表上の多くの物体を記述するために高解像度の光学式リモート センシング画像が使用されています。リモートセンシング画像の判読における物体検出

See all articles