خورازمية الترتيب الفقاعي هي خوازمية لترتيب العناصر ضمن المصفوفة على طريقة الفقاعات في الماء :-)

الطريقة هي جعل العناصر الاكبر تطفو على العناصر الأصغر:

سنطرح مثال لشرح هذه الخوارزمية :

array=[50,20,100,30,40,20,33,99,1,0]

لدينا هذه المصفوفة والان سنبدا عملية الطفو :) عملية الطفو تبدأ من اليسار إلى اليمني

50 20  => 20 50
20 100 =>20 100
100 30 =>30 100
100 40 => 40 100
100 20 =>20 100
100 33=> 33 100
100 99=>99 100
100 1 =>1 100
100 0 =>0 100

100 طفت على السطح :-)

newArray=[20,50,30,40,20,33,99,1,0,100]

وهكذا في الخطوة الاولى من خلال المقارنة بين كل عنصرين متجاورين ورفع العنصر الاكبر 100 طفت الى السطح:

اذا قمنا بتكرار عملية الطفو عدد من المرات يساوي طول المصفوفة -1 فاننا سنضمن ان العناصر كاملة ستطفو بالترتيب وسنحصل على المصفوفة مرتبة

هذا كود مثال عن خوارزمية الفقاعية على لغة الجافا السكريبت:

function bubbleSort(array) {
  // Only change code below this line
  let n=array.length;
  let temp;
  for(let i=0;i<n;i++){
    for(let j=0;j<n-1;j++){
      if(array[j+1]<array[j]){
       temp=array[j]
       array[j]=array[j+1]
       array[j+1]=temp
      }
    }
  }
  return array;
  // Only change code above this line
}


let arr=[19,81,52,5,22,6,55,2,5,2,5,2,7,5,6,5,55,4,64,445]

وهذه الصورة flowchart لخوارزمية الترتيب الفقاعي: