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 メモリ オーバーフローの解決方法

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

推薦する

Linux 負荷分散 LVS の詳細な理解

目次1. LVS 負荷分散2. 負荷分散LVSの基本紹介3. LVSアーキテクチャ3.1 ロードバラ...

Vueはカルーセルのフレームレート再生を実装します

この記事の例では、カルーセルのフレームレート再生を実現するためのVueの具体的なコードを参考までに共...

両端の CSS レイアウトのサンプルコード (親の負のマージンを使用)

最近、開発中に両端が揃ったレイアウトに遭遇しました。レイアウトはパーセンテージに基づいていました。以...

MySQLウィンドウ関数の具体的な使用法

目次1. ウィンドウ関数とは何ですか? 1. ウィンドウをどのように理解しますか? 2. ウィンドウ...

wgetはウェブサイト全体(サブディレクトリ全体)または特定のディレクトリをダウンロードします

wgetコマンドを使用して、親ディレクトリの下のサブディレクトリ全体をダウンロードします。親ディレク...

Linux でプロセスを効果的に管理するための 8 つのコマンド

序文プロセス管理の役割:サーバーの健全性状態を判定する: プロセスの状態 (メモリ、CPU 占有率な...

HTMLでアンカーの位置を設定するためのいくつかの一般的な方法

HTML でアンカーの位置を設定する方法はいくつかあるので、ここで紹介します。 1. ID ポジショ...

Vue ダイナミック バインディング アイコンの完全な手順

0 アイコンと画像の違いアイコンは文字であり、画像はバイナリ ストリームです。つまり、画像はアイコン...

MySQL で遅いクエリ SQL を見つけて最適化する詳細な例

目次1. 遅いクエリSQLを見つけて最適化する方法a. スローログに基づいてスロークエリSQLを見つ...

MySQL 5.7.18 Green Edition のダウンロードとインストールのチュートリアル

この記事では、MySQL 5.7.18のグリーンバージョンをダウンロードしてインストールする詳細な手...

TypeScript における型保護の詳細な説明

目次概要型アサーション構文ではインスタンスオブ構文typeof構文要約する概要TypeScript ...

CSSで半透明の背景色を実現する2つの方法について簡単に説明します。

ページをレイアウトする際、ユーザーに異なる視覚効果を与えるために、div の背景色を半透明の状態に設...

CSSでスペースを処理する方法

1. 宇宙のルールHTML コード内の空白は通常、ブラウザによって無視されます。 <p>...

Dockerコンテナデータをコピーしてバックアップする方法の詳細な説明

ここでは、Jenkins コンテナを例に 3 つの方法を紹介します。方法1コンテナをイメージにパッケ...

メニューノードのすべての子ノードを再帰的に検索する MySQL メソッド

背景プロジェクトにはメニューノードのすべてのノードをチェックする要件があります。オンラインでチェック...