فهرست مطالب:
تصویری: چگونه می توان یک مرتب سازی حبابی در یک لیست پیوندی در C++ ایجاد کرد؟
2024 نویسنده: Lynn Donovan | [email protected]. آخرین اصلاح شده: 2023-12-15 23:46
برای انجام مرتبسازی حبابی، مراحل زیر را دنبال میکنیم:
- مرحله 1: بررسی کنید که آیا داده های 2 گره مجاور به ترتیب صعودی هستند یا خیر. اگر نه، داده های 2 گره مجاور را عوض کنید.
- مرحله 2: در پایان پاس 1، بزرگترین عنصر در انتهای لیست خواهد بود.
- مرحله 3: هنگامی که همه عناصر شروع به کار کردند، حلقه را خاتمه می دهیم.
به این ترتیب، چگونه می توان یک مرتب سازی حبابی در یک لیست پیوندی در C++ ایجاد کرد؟
برای انجام مرتبسازی حبابی، مراحل زیر را دنبال میکنیم:
- مرحله 1: بررسی کنید که آیا داده های 2 گره مجاور به ترتیب صعودی هستند یا خیر. اگر نه، داده های 2 گره مجاور را عوض کنید.
- مرحله 2: در پایان پاس 1، بزرگترین عنصر در انتهای لیست خواهد بود.
- مرحله 3: هنگامی که همه عناصر شروع به کار کردند، حلقه را خاتمه می دهیم.
به طور مشابه، مرتبسازی حبابی C++ چیست؟ مرتب سازی حباب . در مرتب سازی حبابی ، همانطور که عناصر هستند مرتب شده است آنها به تدریج" حباب " (یا صعود) به مکان مناسب خود در آرایه، مانند حباب ها بالا آمدن در یک لیوان نوشابه را مرتب سازی حبابی به طور مکرر عناصر مجاور یک آرایه را مقایسه می کند. عناصر اول و دوم با هم مقایسه می شوند و در صورت نامرتب بودن با هم تعویض می شوند.
ثانیا، چگونه داده ها را در یک لیست پیوندی مرتب می کنید؟
الگوریتم
- یک کلاس Node ایجاد کنید که دارای دو ویژگی است: data و next.
- یک کلاس SortList ایجاد کنید که دارای دو ویژگی است: head و tail.
- addNode() یک گره جدید به لیست اضافه می کند:
- sortList() گره های لیست را به ترتیب صعودی مرتب می کند.
- display() گره های موجود در لیست را نمایش می دهد:
بهترین الگوریتم مرتب سازی برای لیست پیوندی کدام است؟
مرتب سازی ادغام اغلب برای مرتب سازی یک لیست پیوندی ترجیح داده می شود. عملکرد کند دسترسی تصادفی یک لیست پیوندی باعث ایجاد برخی الگوریتم های دیگر می شود (مانند مرتب سازی سریع ) عملکرد ضعیفی دارند و دیگران (مانند دسته بندی ) کاملا غیر ممکن است. اجازه دهید head اولین گره از لیست پیوند شده باشد که باید مرتب شود و headRef اشاره گر به سر باشد.