Problem

1 /7


مرتب سازی حبابی

Theory Click to read/hide

مرتب‌سازی درجه دوم

مرتب‌سازی - بازآرایی عناصر یک آرایه (فهرست) به ترتیب معین است.

روش حبابی (مرتب‌سازی حبابی)، یا مرتب‌سازی بر اساس مبادلات ساده).
کلاسیک جاودانه این ژانر. اصل عمل ساده است: ما آرایه را از ابتدا تا انتها دور می زنیم و همزمان عناصر همسایه مرتب نشده را عوض می کنیم. در نتیجه اولین پاس به آخرین مکان، "پاپ می شود" حداکثر عنصر اکنون دوباره قسمت مرتب نشده آرایه (از عنصر اول تا عنصر ماقبل آخر) را دور می زنیم و همسایه های مرتب نشده را در طول مسیر تغییر می دهیم. دومین عنصر بزرگ در مکان ماقبل آخر خواهد بود. با همین روحیه ادامه می دهیم، بخش مرتب نشده آرایه را که مرتباً در حال کاهش است دور می زنیم و حداکثرهای یافت شده را تا انتها فشار می دهیم.
 
منبع

اجرای الگوریتمی این الگوریتم
<پیش> حلقه برای J=1 تا N-1 مرحله 1 F=0 حلقه FOR I=1 به N-J-1 مرحله 1 اگر A[I] > A[I+1] سپس EXCHANGE A[I]،A[I+1] F=1 بعدی منم اگر F=0 باشد، از حلقه خارج شوید // اگر هیچ تبادلی در طول پاس وجود نداشت،   // یعنی همه عناصر   // به ترتیب مرتب شد بعدی جی پیچیدگی این الگوریتم: \(\displaystyle O(n^{2})\).


اطلاعات مفید اضافی: مقاله ویکی پدیا.

 

Problem

لازم است آرایه را با استفاده از روش "حباب" به ترتیب غیرنزولی مرتب کنید.
 
ورودی
خط اول شامل یک عدد طبیعی N است که از 1000 تجاوز نمی کند – اندازه آرایه خط دوم حاوی اعداد N – عناصر آرایه (اعداد صحیح در مدول از 1000 تجاوز نمی کنند).
 
خروجی
آرایه به دست آمده را خروجی بگیرید.
 
نمونه‌ها
<سر> <بدن>
# ورودی خروجی
1
5
5 4 3 2 1
1 2 3 4 5