C++ Queues
در C++، Queue (صف) یک ساختار دادهای FIFO (First In, First Out) است، یعنی اولین عنصری که وارد میشود، اولین عنصری است که خارج میشود. STL کلاس آمادهای به نام queue
دارد که مدیریت صف را بسیار ساده میکند.
🔹 1️⃣ ایجاد Queue
🔹 2️⃣ اضافه کردن عناصر
-
()push
→ اضافه کردن عنصر به انتهای صف -
()front
→ مشاهده عنصر اول -
()back
→ مشاهده عنصر آخر
🔹 3️⃣ حذف عناصر
توجه:
()pop
مقدار حذف شده را برنمیگرداند؛ فقط حذف میکند.
🔹 4️⃣ بررسی وضعیت Queue
🔹 5️⃣ استفاده از Queue با حلقه
📌 خروجی:
🔹 6️⃣ Queue با اولویت (Priority Queue)
-
STL کلاس
priority_queue
دارد که بزرگترین عنصر همیشه در رأس صف است.
📌 خروجی:
-
برای کوچکتر بودن عنصر در رأس، میتوان از:
🔹 7️⃣ نکات کلیدی
-
Queue یک FIFO است؛ یعنی اولین عنصر وارد شده، اولین خروجی را دارد.
-
دسترسی به میانه صف امکانپذیر نیست؛ فقط ابتدای صف (
front
) و انتهای صف (back
). -
Queue برای مدیریت پردازشها، صف چاپگر، منابع و الگوریتمهای BFS کاربرد دارد.
-
priority_queue
برای صف با اولویت مناسب است که همیشه بزرگترین یا کوچکترین عنصر در رأس باشد.
💡 خلاصه:
Queue در ++C یک ساختار دادهای ساده و کارآمد برای مدیریت دادهها به ترتیب ورود است. توابع push
, pop
, front
, back
, empty
و size
کنترل کامل صف را فراهم میکنند و برای صفهای با اولویت، کلاس priority_queue
STL قابل استفاده است.