الگوریتم مرتب سازی حبابی (bubble sort) :

این روش، ساده ترین روش مرتب سازی آرایه ها در C++ بوده که از کارایی کمتری نسبت به دیگر الگوریتمها برخوردار است و علت این است که عناصر آرایه دو به دو با یکدیگر مقایسه شده و اگر عنصر اول از عنصر دوم بزرگتر باشد جای آن دو عوض می شود ( در مرتب سازی صعودی )، بنابراین عمل مقایسه بارها تکرار شده، در نتیجه راندمان کار را پایین می برد. در زیر به نحوه عملکرد الگوریتم مرتب سازی حبابی توجه فرمایید :

llh

همانگونه که ملاحظه کردید در مرحله اول، ابتدا ۷ با ۳ مقایسه شده و چون ۳ از ۷ کوچکتر است جایشان عوض می شود. سپس در همان مرحله ۷ با ۹ مقایسه شده و چون ۹ از ۷ بزگتر است پس جابجایی صورت نمی گیرد و در انتهای همان مرحله ۹ با ۱ مقایسه شده و بدلیل کوچکتر بدن ۱ از ۹ بین آن دو جابجایی صورت می گیرد .

در مرحله دوم و سوم نیز این روال اجرا می شود تا در نهایت آرایه ما بصورت صعودی مرتب می گردد. همانطور که می بینید تعداد مقایسه ها زیاد است و اگر آرایه ما عناصر زیادی داشته باشد، الگوریتم حبابی وقت زیادی را برای مراب کردن عناصر از برنامه و CPU خواهد گرفت. در زیر به کد این الگوریتم را با دقت پیگیری نمایید و سعی کنید مثالی را در نرم افزار سیستم خود انجام دهید :

zz

در بالا متغیری بنام temp تعریف شده که از آن در جابجا کردن عناصر آرایه استفاده می کنیم به این ترتیب که مقدار اول را در خود نگه می دارد و مقدار دوم در مقدار اول ریخته می شود و در نهایت مقدار اول یا همان temp در مقدار دوم قرار می گیرد و در حقیقت، این متغیر نقش کمکی (واسط) در جابجایی را بازی می کند .