برنامه مرتب سازی حبابی bubble sort
|
||||||||||||
توضیحات : پیاده سازی برنامه مرتب سازی حبابی یکی از روشهای مرتبسازی، روش مرتبسازی حبابی (Bubble Sort) است، که به آن روش تعویض استاندارد (Standard Exchange) نیز میگویند. این روش شامل چند مرحله است، که در هر مرحله یک عنصر از لیست به طور قطع در محل مناسب خود قرار میگیرد. لیست زیر را در نظر بگیرید، که میخواهیم به صورت صعودی (از کوچک به بزرگ) مرتب کنیم: ۴ ۳ ۸ ۱ ۶ ۲ عنصر اول را با دومی مقایسه کرده، و در صورتی که اولی بزرگتر باشد، جای آنها را تعویض میکنیم: ۱ – ۱) ۴ ۳ ۸ ۱ ۶ ۲ -> 3 4 8 1 6 2 همین کار را با عناصر دوم و سوم انجام میدهیم: ۱ – ۲) ۳ ۴ ۸ ۱ ۶ ۲ -> 3 4 8 1 6 2 و همینطور عناصر سوم و چهارم: ۱ – ۳) ۳ ۴ ۸ ۱ ۶ ۲ -> 3 4 1 8 6 2 و الی آخر: ۱ – ۴) ۳ ۴ ۱ ۸ ۶ ۲ -> 3 4 1 6 8 2 ۱ – ۵) ۳ ۴ ۱ ۶ ۸ ۲ -> 3 4 1 6 2 8 زمانی که به انتهای لیست رسیدیم، بزرگترین عنصر بین دادهها به انتهای لیست منتقل شده است. در مرحله بعد، مجددا از ابتدا شروع کرده، و تا انتها ادامه میدهیم. اما با توجه به این که به طور قطع عنصر nام در جای اصلی خود قرار دارد، تا عنصر (n – 1)ام پیش میرویم. در پایان این مرحله، بزرگترین عدد در لیست نامرتب باقیمانده، به انتهای آن منتقل میشود، که دومین عدد از نظر بزرگی در کل لیست است: ۲ – ۱) ۳ ۴ ۱ ۶ ۲ ۸ -> 3 4 1 6 2 8 ۲ – ۲) ۳ ۴ ۱ ۶ ۲ ۸ -> 3 1 4 6 2 8 ۲ – ۳) ۳ ۱ ۴ ۶ ۲ ۸ -> 3 1 4 6 2 8 ۲ – ۴) ۳ ۱ ۴ ۶ ۲ ۸ -> 3 1 4 2 6 8 در هر مرحله، طول بازهای که مرتبسازی روی آن انجام میگیرد، یک واحد کم شده، و در نتیجه تعداد گامها نیز یک گام کمتر میشود: ۳ – ۱) ۳ ۱ ۴ ۲ ۶ ۸ -> 1 3 4 2 6 8 ۳ – ۲) ۱ ۳ ۴ ۲ ۶ ۸ -> 1 3 4 2 6 8 ۳ – ۳) ۱ ۳ ۴ ۲ ۶ ۸ -> 1 3 2 4 6 8 ۴ – ۱) ۱ ۳ ۲ ۴ ۶ ۸ -> 1 3 2 4 6 8 ۴ – ۲) ۱ ۳ ۲ ۴ ۶ ۸ -> 1 2 3 4 6 8 ۵ – ۱) ۱ ۲ ۳ ۴ ۶ ۸ -> 1 2 3 4 6 8 در پایان این مراحل، لیست مرتب شده است. در مراحل مختلف، عناصر بزرگ رفته رفته به انتهای لیست و محل اصلی خود حرکت میکنند. همراه با فایلهای EXE , CPP مشاهده تصاویری از محیط فایل اجرایی این برنامه :
مشاهده بخشهایی از سورس کد این پروژه :
دانلود کامل پروژه همراه با فایل سورس کد و فایل اجرایی آن
پذیرش و انجام سفارشات پروژه های شما شماره تماس پشتیبانی سایت : ۰۹۳۹۲۷۶۱۶۳۰ |
توجه مهم :
*دوست عزیز در صورت نداشتن رمز پویا یا قطع بودن درگاه بانکی ، لطفا نام پروژه درخواستی خود را جهت هماهنگی برای دریافت شماره کارت واریزی و دریافت لینک دانلود، به واتساپ پشتیبانی سایت ۰۹۳۹۲۷۶۱۶۳۰ ارسال کنید *(از ساعت ۸ الی ۲۳)
دیدگاهتان را بنویسید