JavaScript を使用してソートアルゴリズムを実装する方法

JavaScript を使用してソートアルゴリズムを実装する方法

バブルソート

バブルソートは、シーケンスの右側から始めて、隣接する 2 つの数字の大きさを繰り返し比較し、結果に基づいて 2 つの数字の位置を交換します。

JavaScript コードの実装:

コードの紹介: 配列変数を宣言し、while を通じて配列変数に値を割り当て、「#」が入力されたら入力を停止し、次に隣接する 2 つの数字をトラバースし、隣接する 2 つの数字を昇順に並べ、n-1 回トラバースしてソートを実行します。

 var a = 配列();
    フラグ=true;
    var i = 0;
    var j = 0;
    var temp = 0;
    while(フラグ){
        var b = prompt("i番目の数字を入力してください:");
        if(b=="#"){
          フラグ=false;
        }それ以外{
            b[i] = 0;
        }
        私は++;
    }
   
    s = a.長さ;
    (j=0;j<s;j++)の場合{
        コンソールにログ出力します。 
    }
    (j=1;j<s;j++)の場合{
       (i=0;i<sj;i++)の場合{
           a[i]>a[i+1]の場合{
                temp = a[i];
                a[i] = a[i+1];
                a[i+1] = 温度;
           }
       }
    }
    (j=0;j<s;j++)の場合{
        console.log("昇順:",a[j]); 
    }

3、4、2、8、6 を入力します。出力は次のようになります。

選択ソート

選択ソートは、ソートするデータから最小値を繰り返し見つけ、それをシーケンスの左端の数字と交換します。

JavaScript コードの実装:

    var a = 配列();
    フラグ=true;
    var i = 0;
    var j = 0;
    var temp = 0;
    while(フラグ){
        var b = prompt("i番目の数字を入力してください:");
        if(b=="#"){
          フラグ=false;
        }それ以外{
            b[i] = 0;
        }
        私は++;
    }
    s = a.長さ;
    (j=0;j<s;j++)の場合{
        console.log("配列:",a[j]); 
    }
    (i=0;i<s;i++)の場合{
        (j=0;j<s;j++)の場合{
            もしa[i]>a[j]であれば
                温度 = a[j];
                a[j] = a[i];
                a[i] = 温度;
            }
        }
    }
    (j=s-1;j>=0;j--){
        console.log("並べ替えを選択:",a[j]); 
    }

挿入ソート

挿入ソートアルゴリズム: 順序付けられた配列要素のストレージを構築することにより、ソートされていない配列要素については、ソートされた配列の最後の要素から最初の要素まで走査し、対応する位置を見つけて挿入します。

js コードの実装:

var フラグ = true;
    var a = 新しい配列();
    var i = 0;
    while(フラグ){
        
        var s = prompt('数字を入力してください:');
        if(s=='#'){
            フラグ=false;
        }それ以外{
            s[i] = 0 である。
        }
        私は++;
    }
    コンソールにログ出力します。
    for(var i=1;i<a.length;i++){
    (var j = i;j>0;j--){
        a[j-1]>a[j]の場合{
            var temp = a[j-1];
            a[j-1] = a[j];
            a[j] = 一時;
        }
    }
}
for(var i=0;i<a.length;i++){
コンソールにログ出力します。
}

5、3、7、4、8、1、6 を入力してください。出力は次のようになります。

要約する

JavaScript を使用してソート アルゴリズムを実装する方法に関するこの記事はこれで終わりです。ソート アルゴリズムのより関連性の高い js 実装については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JS を使用してバイナリ ツリー トラバーサル アルゴリズムのサンプル コードを実装する
  • Matlab による JavaScript プログラミング、重心アルゴリズムによる位置決め学習
  • JavaScript 初心者のための二分探索木アルゴリズムのチュートリアル
  • JavaScript で実装された 7 つのソート アルゴリズムの概要 (推奨!)
  • JavaScript でツリー構造を構築するための効率的なアルゴリズムについての簡単な説明
  • JavaScript でアルゴリズムの複雑さを学ぶ方法
  • jsは赤い封筒の順序と量を指定するアルゴリズムを実装します
  • JavaScript を使用して簡単なアルゴリズムを実行する方法

<<:  Docker 起動時の ES メモリ オーバーフローの解決方法

>>:  デザイン理論:計画、リソース、コミュニケーションの問題について

推薦する

Windows システムに mysql5.7.21 をインストールするための詳細なチュートリアル

MySQL インストーラーは、MySQL ソフトウェアのあらゆるニーズに対応する、使いやすいウィザー...

ubuntu20.04 上の CLion2020.1.3 での ROS のインストールと設定の詳細な説明

1. CLionをダウンロード、インストール、アクティベートするオンラインで提供されるチュートリアル...

IE8 互換性について: X-UA-compatible 属性の説明

問題の説明:コードをコピーコードは次のとおりです。 <meta http-equiv=&quo...

Dockerコアとインストールの具体的な使い方

1. Docker とは何ですか? (1)DockerはLinuxコンテナ内でアプリケーションを実行...

LinuxはRsync+Inotifyを使用してローカルとリモートのデータのリアルタイム同期を実現します。

0x0 テスト環境本社本番サーバーと支社バックアップサーバーはリモートデータバックアップが必要です...

DockerコンテナでPythonを実行するディープラーニング環境を構築する方法

タスク マネージャーで仮想化を確認し、有効になっている場合は仮想化を、無効になっている場合はコンピュ...

CentOS 7 パスワードを忘れた場合の解決プロセス図

必要Windows システムでも Linux システムでも、さまざまな理由でパスワードを忘れてしまう...

Vueはプルダウンを実装してさらに読み込む

Element-UI に慣れた開発者なら、無限スクロールの InfiniteScroll が使いにく...

MYSQLの文字セット設定方法(端末の文字セット)の詳しい説明

序文ターミナルを使用してデータベースまたはテーブルを作成するたびに、文字セットが latin1 であ...

シームレスなカルーセルを実現するjQueryプラグイン

シームレス カルーセルは非常に一般的なエフェクトであり、ロジックを理解すれば非常に簡単です。効果は以...

Vue3 での Teleport の使用に関する詳細な説明

目次テレポートの目的テレポートの仕組みこの記事では、以下の内容を取り上げます。テレポートの目的テレポ...

vue+elementuiは、共有箇条書きボックスの追加と変更の完全なコードを実装します。

目次1. 新しいII. 変更element-ui は、Ele.me のフロントエンド チームが開発者...

MySQLデュアルマスター(マスターマスター)アーキテクチャ構成ソリューション

企業では、データベースの高可用性は常に最優先事項です。多くの中小企業は、MySQL マスター スレー...

DockerでRedashの中国語版をデプロイしてインストールする方法の詳細な説明

1. インストール手順 Linux 環境でのローカル インストールと比較すると、Docker のイン...

Windows で MySQL マスター スレーブ レプリケーションを構成する方法

MySQL マスター/スレーブ レプリケーションを使用すると、1 つのデータベース (マスター デー...