ホームページ ウェブフロントエンド jsチュートリアル js_javascript スキルにおける 3 つのソート アルゴリズムの共有

js_javascript スキルにおける 3 つのソート アルゴリズムの共有

May 16, 2016 pm 05:50 PM
ソートアルゴリズム

コードをコピー コードは次のとおりです:

/**
* 値交換演算
* arr 演算対象の配列
* i 演算対象の要素のインデックス値
* j 演算対象の 2 つの要素間の距離
*/
関数Refer(arr , i, j){
var change = (arr[i] - arr[i - j])
if (change) {
value; = arr[i];
arr[i] = arr[i - j];
arr[i - j] = 値を返します。
}
else {
return arr;
}
}
//挿入 sort
function insert(array){
for (var i = 1, len = 配列; i
if (配列[i]
}
>}
return array;
}


上記の部分は挿入ソート、次にヒル ソートです:


//Hill sort
function shell(array){
var length = array.length, for ( var i = Math.floor(length / 2); i > 0; i = Math.floor(i / 2)) {
for (var j = i; j if (array[j] < array[j - i]) {
refer(array, j, i);
}
else {
}
}
}
return array;
}


2 つのメソッドで使用される Refer メソッドは同じメソッドです。最後に、マージソート:



コードをコピー
コードは次のとおりです: //マージソート 関数 order(arr1, arr2){
var arrLong = arr1.length > arr1 : arr2;
var arrShort = arr1.length <= arr2.length ? 🎜>var arr = [];
for (var i = 0, l = arrShort.length; i for (var j = 0, len = arrLong.length; j if (arrShort[i] < arrLong[j]) {
arr.push(arrShort[i]); {
for (var m = 0, n = arrLong.length; m < n; m ) {
arr[arr.length] = arrLong[m]
}
Break;
else {
arr.push(arrLong[j]);
続行
}
}
arr を返す;
}


良い提案がある学生はメッセージを残してください。ここでは詳細を説明する必要はありません。コードを見てください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Kuaishou の両面市場における複雑な実験計画の問題 Kuaishou の両面市場における複雑な実験計画の問題 Apr 15, 2023 pm 07:40 PM

Kuaishou の両面市場における複雑な実験計画の問題

Google は AI を使用して 10 年間にわたるランキング アルゴリズムの封印を破りました。このアルゴリズムは毎日何兆回も実行されていますが、ネチズンはこれが最も非現実的な研究だと主張していますか? Google は AI を使用して 10 年間にわたるランキング アルゴリズムの封印を破りました。このアルゴリズムは毎日何兆回も実行されていますが、ネチズンはこれが最も非現実的な研究だと主張していますか? Jun 22, 2023 pm 09:18 PM

Google は AI を使用して 10 年間にわたるランキング アルゴリズムの封印を破りました。このアルゴリズムは毎日何兆回も実行されていますが、ネチズンはこれが最も非現実的な研究だと主張していますか?

Vue テクノロジー開発でデータをフィルターおよび並べ替える方法 Vue テクノロジー開発でデータをフィルターおよび並べ替える方法 Oct 09, 2023 pm 01:25 PM

Vue テクノロジー開発でデータをフィルターおよび並べ替える方法

配列のソートアルゴリズムは何ですか? 配列のソートアルゴリズムは何ですか? Jun 02, 2024 pm 10:33 PM

配列のソートアルゴリズムは何ですか?

Swoole Advanced: マルチスレッドを使用して高速ソート アルゴリズムを実装する方法 Swoole Advanced: マルチスレッドを使用して高速ソート アルゴリズムを実装する方法 Jun 14, 2023 pm 09:16 PM

Swoole Advanced: マルチスレッドを使用して高速ソート アルゴリズムを実装する方法

プログラマーがマスターしなければならないソート アルゴリズムのトップ 10 (パート 1) プログラマーがマスターしなければならないソート アルゴリズムのトップ 10 (パート 1) Aug 15, 2023 pm 02:55 PM

プログラマーがマスターしなければならないソート アルゴリズムのトップ 10 (パート 1)

MySQL と Java を使用して単純なソート アルゴリズム関数を実装する方法 MySQL と Java を使用して単純なソート アルゴリズム関数を実装する方法 Sep 20, 2023 am 09:45 AM

MySQL と Java を使用して単純なソート アルゴリズム関数を実装する方法

C# で選択ソート アルゴリズムを実装する方法 C# で選択ソート アルゴリズムを実装する方法 Sep 20, 2023 pm 01:33 PM

C# で選択ソート アルゴリズムを実装する方法

See all articles