الوصف الخوارزمية: بالنسبة لسجلات N معينة ، تتم مقارنة السجلين المجاوران بالتسلسل من السجل الأول. عندما يكون السجل الحالي أكبر من السجل اللاحق ، يتم تنفيذ موضع التبادل. بعد جولة واحدة من المقارنة والتبادل ، سيكون أكبر سجل بين سجلات N في الوضع nth ؛ ثم يتم تنفيذ الجولة الثانية من المقارنة على السجلات السابقة (N-1) ؛ يتم تكرار العملية حتى يكون هناك سجل واحد فقط مارك للمقارنة.
فرز الفقاعات سهل الفهم. أخذ الفرز من صغير إلى كبير كمثال ، كل جولة من الفرز تجد القيمة القصوى في التسلسل غير المصنفة وتضعها في النهاية.
لنفترض أن طول الصفيف هو n:
(1) قارن بين البيانات المجاورة في الأمام والخلف. إذا كانت البيانات السابقة أكبر من البيانات التالية ، فقم بتبادل البيانات.
(2) بعد اجتياز البيانات 0 من المصفوفة إلى بيانات N-1 مرة واحدة ، سيتم "غرق" البيانات الأكبر في الموضع N-1th للمصفوفة.
(3) ن = N-1. إذا لم يكن N 0 ، كرر الخطوتين السابقتين ، وإلا فسيتم إكمال الفرز.
ما سبق هو الفكرة الأساسية لفرز الفقاعة ، ويمكنك كتابة التعليمات البرمجية بسرعة وفقًا لهذا التعريف.
حزمة فرز ؛/*** فرز الفقاعة* متوسط O (n^2) ، أفضل o (n) ، أسوأ o (n^2) ؛ تعقيد الفضاء o (1) ؛ مستقر؛ بسيط * Author Zeng * */public class bubblesort {public static void bubblesort (int [] a) {int n = a.length ؛ int temp = 0 ؛ for (int i = 0 ؛ i <n ؛ i ++) {for (in j = 0 ؛ j <ni-1 a [j+1] ؛ a [j+1] = temp ؛}}}} الفراغ الثابت العام (سلسلة [] args) {int [] a = {49،38،65،97،76،13،27،50} ؛ bubblesort (a) ؛ لـ (int j: a) system.out.print (j+"") ؛}}لخص
ما سبق هو كل شيء عن التنفيذ البسيط لفرز Bubble Java ، وآمل أن يكون مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى الموضوعات الأخرى ذات الصلة على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!