سورت حبابی - bubble sort
مرتبسازی حبابی یا buble sort قاعدهی سادهای دارد:
- از ابتدای آرایه شروع میکنیم و اگر عنصر فعلی از عنصر بعدی بزرگتر
(کوچکتر) بود جای آن دو را عوض میکنیم. این کار را تا عنصر
یکی مانده به آخر آرایه تکرار میکنیم (عنصر یکی مانده به آخر طبیعتا با
عنصر آخر مقایسه میشود.)
در پایان این مرحله بزرگترین (کوچکترین) عنصر در انتهای آرایه قرار
میگیرد.
- اگر در مرحلهی ۱ هیچ جابجاییای صورت نگرفته باشد، آرایه
از قبل مرتب شده است. از برنامه خارج میشویم.
- فرض میکنیم آرایهی اصلی n-1 عضو دارد (نسبت به ابتدای آرایه)
و سپس مجددا به مرحلهی ۱ میرویم.
قطعه کد زیر روش کار
الگوریتم مرتبسازی حبابی به شیوهی صعودی را نشان
میدهد:
// .........
for (i = n-1; i > 0; i--) {
swapped = 0;
for (j = 0; j < i; j++)
if (numbers[j] > numbers[j+1]) {
swap(numbers, j, j+1);
swapped = 1;
}
if (!swapped)
break;
}
// .......
⬅
پیادهسازی الگوریتم bubble sort به صورت صعودی
⬅
پیادهسازی الگوریتم bubble sort به صورت نزولی
⬅
پیادهسازی الگوریتم bubble sort به صورت صعودی با پاسکال