تشاركك هذه المقالة معك خوارزمية الفرز الشائعة الاستخدام لتنفيذ JS ، والمحتوى المحدد هو كما يلي
1. فرز الفقاعة
var bubblesort = function (arr) {var flag = true ؛ var len = arr.length ؛ لـ (var i = 0 ؛ i <len - 1 ؛ i ++) {flag = true ؛ لـ (var j = 0 ؛ j <len - 1 - i ؛ j ++) {if (arr [j]> arr [j+1]) {var temp = arr [j+1] ؛ arr [j+1] = arr [j] ؛ arr [j] = temp ؛ العلم = خطأ ؛ }} if (flag) {break ؛ }}} ؛2. حدد الفرز
var selectSort = function (arr) {var min ؛ لـ (var i = 0 ؛ i <arr.length-1 ؛ i ++) {min = i ؛ لـ (var j = i+1 ؛ j <arr.length ؛ j ++) {if (arr [min]> arr [j]) {min = j ؛ }} if (i! = min) {swap (arr ، i ، min) ؛ }} ؛ arr [index1] = arr [index2] ؛ arr [index2] = temp ؛} ؛3. أدخل النوع
var insertSort = function (arr) {var len = arr.length ، key ؛ لـ (var i = 1 ؛ i <len ؛ i ++) {var j = i ؛ المفتاح = arr [j] ؛ بينما (-j> -1) {if (arr [j]> مفتاح) {arr [j + 1] = arr [j] ؛ } آخر {break ؛ }} arr [j + 1] = key ؛ }} ؛4. فرز التل
var shellsort = function (arr) {var gaps = [5 ، 3 ، 1] ؛ لـ (var g = 0 ؛ g <gaps.length ؛ ++ g) {for (var i = gaps [g] ؛ i <arr.length ؛ ++ i) {var temp = arr [i] ؛ لـ (var j = i ؛ j> = gaps [g] && arr [j - gaps [g]]> temp ؛ j - = gaps [g]) {arr [j] = arr [j - gaps [g]] ؛ } arr [j] = temp ؛ }}} ؛5. الطلب
دالة mergesort (arr) {if (arr.length <2) {return ؛ } var step = 1 ؛ var يسار ، يمين ؛ بينما (الخطوة <arr.length) {left = 0 ؛ اليمين = الخطوة ؛ بينما (يمين + الخطوة <= arr.length) {mergearrays (arr ، يسار ، اليسار + الخطوة ، اليمين ، اليمين + الخطوة) ؛ اليسار = اليمين + الخطوة ؛ اليمين = اليسار + الخطوة ؛ } if (يمين <arr.length) {mergearrays (arr ، يسار ، اليسار + الخطوة ، اليمين ، arr.length) ؛ } الخطوة *= 2 ؛ }} دالة mergearrays (arr ، startleft ، stopleft ، startright ، stopright) {var rightarr = new array (StopRight - StarTright + 1) ؛ var Leftarr = Array New (Stopleft - startleft + 1) ؛ k = startright ؛ لـ (var i = 0 ؛ i <(rightArr.length - 1) ؛ ++ i) {rightarr [i] = arr [k] ؛ ++ ك ؛ } k = startLeft ؛ لـ (var i = 0 ؛ i <(LEDEDARR.LENGTH - 1) ؛ ++ i) {LEDEDARR [i] = arr [k] ؛ ++ ك ؛ } rightarr [rightarr.length - 1] = Infinity ؛ // Sentinel Value Leftarr [LeftArr.length - 1] = Infinity ؛ // sentinel value var m = 0 ؛ var n = 0 ؛ لـ (var k = startLeft ؛ k <stopright ؛ ++ k) {if (laydarr [m] <= rightarr [n]) {arr [k] = Leftarr [m] ؛ M ++ ؛ } else {arr [k] = rightarr [n] ؛ n ++ ؛ }}}6. نوع سريع
var quicksort = function (arr ، left ، right) {var i ، j ، t ، pivot ؛ if (left> = right) {return ؛ } pivot = arr [left] ؛ أنا = اليسار ؛ ي = يمين ؛ بينما (i! = j) {بينما (arr [j]> = pivot && i <j) {j-- ؛ } بينما (arr [i] <= pivot && i <j) {i ++ ؛ } if (i <j) {t = arr [i] ؛ arr [i] = arr [j] ؛ arr [j] = t ؛ }} arr [left] = arr [j] ؛ arr [j] = pivot ؛ Quicksort (arr ، اليسار ، i - 1) ؛ Quicksort (arr ، i + 1 ، يمين) ؛}ملخص: مقارنة كفاءة الخوارزمية:
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.