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

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

推薦する

プログレッシブ ウェブ アプリ (PWA) の開発方法

目次概要必要とするアプリURL PWA にはどのような技術コンポーネントが必要ですか?マニフェストフ...

シンプルなドラッグ効果を実現するJavaScript

この記事では、簡単なドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

ページにスクロールバーが表示されたときに、スクロールバーがページ幅に影響しないようにする方法

本体の幅をウィンドウの幅に設定します(次のスクリプトで制御されます) $("body&qu...

HarborをベースにしたDocker専用倉庫の構築方法

目次1. ハーバーの紹介1. ハーバーが民間倉庫を建設3. 港湾の維持管理4. Harborユーザー...

Node.js で MySQL データベースにバッチデータを挿入する方法

プロジェクト(nodejs)では、一度に複数のデータをデータベースに挿入する必要があります。データベ...

情報製品の読書リストのインタラクティブなデザインに関する考えと経験の共有

リストは、テーブルをコンテナーとして使用するテキストまたはグラフの形式として定義されます。商品の種類...

Vue の基本入門: Vuex のインストールと使用

目次1. vuexとは何か2. インストールと導入3. vuexの使用4. プロセスの紹介5. 突然...

まだ*を選択しますか?

アプリケーションが牛のように遅い理由は数多くあります。ネットワーク、システム アーキテクチャ、または...

Linux redis-Sentinel 設定の詳細

ダウンロードダウンロードアドレス: https://redis.io/download /usr/l...

CentOS 8.0.1905 は ZABBIX 4.4 バージョンをインストールします (検証済み)

Zabbix サーバー環境プラットフォームバージョン: ZABBIX バージョン 4.4システム:...

MySQLのよくある間違い

NULL 値によると、MySQL の NULL 値は単にデータがないことを意味します。NULL 値は...

CSS 変数に基づくテーマ切り替えに最適なソリューション (推奨)

この要件を受け取ったとき、Baidu は、CSS リンクの置き換え、className の変更、le...

幅の比率に応じて高さを変えるCSSを実装するいくつかの方法

[解決策1: パディングの実装]原理:要素の padding の値がパーセンテージの場合、このパーセ...

JSホモロジー戦略とCSRFの詳細な説明

目次概要同一生成元ポリシー (SOP)相同制限クロスドメインをバイパスクロスサイトリクエストフォージ...

CentOS 8 VMware 仮想マシンがインターネットにアクセスするための静的 IP ネットワーク カードの設定の詳細な説明

最初のステップ: VMwareで、「編集」-「仮想ネットワークエディタ」をクリックします。下図に示す...