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

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

推薦する

WeChatアプレットで数字当てゲームを実装する実際のプロセス

目次機能紹介レンダリング1. ホームページレンダリング用のコード(index03) 2. ゲーム開始...

CSS 完全な視差スクロール効果

1. 何ですか視差スクロールとは、複数の背景レイヤーを異なる速度で動かすことで、3次元のモーション...

Linux 上の Tomcat で MySQL にデータを挿入するときに中国語の文字化けが発生する問題を解決する

1. 問題Windows 上の Eclipse を使用して開発されたプロジェクトは Windows ...

Alibaba Cloud に MySQL データベースをインストールするときに発生する 2002 エラーを解決する方法

データベースのインストール中に次のエラーが発生しました: 解決策は次のとおりです。 1. binディ...

Vue3を使用してjsで呼び出せるコンポーネントを実装する

目次序文1. 従来のVueコンポーネント1. メインコンポーネントコード: 2. 使用方法3. 成果...

アイデアを通じてプロジェクトをDockerにパッケージ化する方法

多くの友人が、Docker でプロジェクトを実行する方法をずっと知りたがっていました。今日は、自分の...

Ubuntuデュアルシステムが起動時に停止する問題の解決方法の詳細な説明

起動時に Ubuntu デュアル システムが停止する問題の解決方法 (Ubuntu 16.04 およ...

HTML にネストされた div の無効なマージンに対する解決策

div がネストされているときに margin が機能しない問題の解決策を次に示します。さて、マージ...

mysql replace into の使用法の詳細な説明

replace ステートメントは、一般的に insert ステートメントに似ています。ただし、テーブ...

mycat を使用して MySQL データベースの読み取りと書き込みの分離を実装する例

MyCATとはエンタープライズアプリケーション開発のための完全にオープンソースの大規模データベースク...

web.config (IIS) および .htaccess (Apache) の構成

xml <?xml バージョン="1.0" エンコーディング="...

Navicat Premium15 でクラウド サーバーに接続する際のデータベースの問題と落とし穴

クラウドサーバーを使用するとデータベースに接続できる場合もありますが、Navicat Premium...

MySQL インデックス プッシュダウンを 5 分で理解する

目次インデックス プッシュダウンとは何ですか?インデックスプッシュダウン最適化の原理インデックスプッ...

Nginx Rewrite の使用シナリオと設定方法の分析

Nginx Rewriteの使用シナリオ1. URL アドレスジャンプ。たとえば、ユーザーが pm....

Vue+element ui はアンカーの配置を実現します

この記事では、アンカー配置を実現するためのVue +要素UIの具体的なコードを例として紹介します。具...