PDA

View Full Version : مبتدی: عملیات حذف و جستجو بر روی صف



alimooghashang
سه شنبه 09 آذر 1389, 17:23 عصر
با سلام
من تو برنامه ام یه صف اینطوری تعریف کردم

#include <queue>
queue<int> myQ;من با یه while توی صف جستجو میکنم
به این صورت


while (!myQ.empty())
{
// اینجا دنبال یه آیتم خاص میگردم
myQ.pop();
}
حالا سوالم اینه که چطوری میتونم جستجو کنم که صف ام خالی نشه
و اینکه چطوری میتونم یه آیتم رو جستجو کنم و اون ایتم رو از صف حذف کنم؟
یه دستور داره مثل این


myQ._Get_container().erase();
اما نمیدونم چطوری باید ازش استفاده کرد
با تشکر

wanted_boy_2010
پنج شنبه 11 آذر 1389, 11:21 صبح
سلام. من برای استفاده از کلاس صف خودم اون رو می نویسم.
یه تابع هم فقط برای نمایش یا برگردوندن اطلاعات صف توش می ذارم. با اینکار دیگه اطلاعات صف پاک نمیشه.:لبخند:

alimooghashang
پنج شنبه 11 آذر 1389, 11:34 صبح
شما نگرفتی انگار چی شد :لبخند:
من خودم میخوام یه آیتم رو از داخلش حذف کنم
ولی نه آیتمی که در جلو یا عقب صف هست!
آیتمی که در وسط صف هست
میخوام ببینم تابعی نداره؟
وگرنه برای این کار که میشه یه صف موقتی گرفت و تمام آیتم ها رو بغیر از اونی که میخواهی به ترتیب داخلش کپی کنی ! به این ترتیب اون آیتم حذف میشه! ولی نمیخوام این کار ها رو بکنم!

wanted_boy_2010
پنج شنبه 11 آذر 1389, 13:14 عصر
شما نگرفتی انگار چی شد :لبخند:
من خودم میخوام یه آیتم رو از داخلش حذف کنم
ولی نه آیتمی که در جلو یا عقب صف هست!
آیتمی که در وسط صف هست
میخوام ببینم تابعی نداره؟
وگرنه برای این کار که میشه یه صف موقتی گرفت و تمام آیتم ها رو بغیر از اونی که میخواهی به ترتیب داخلش کپی کنی ! به این ترتیب اون آیتم حذف میشه! ولی نمیخوام این کار ها رو بکنم!

ببخشید. شاید من نتونستم منظورم رو بگم.
شما می خوای جستجو کنی تا به مقدار مورد نظر برسی.درسته؟
بعد اون رو حذف کنی؟ این که میشه پارتی بازی:لبخند:صف یعنی هر کی زودتر اومد زودتر بره.
در کل منظور من اینه که یه تابع می نویسم که از ابتدای صف شروع می کنه تا انتهای صف میره. همزمان نتیجه رو با مقدار مورد نظر چک می کنم. اگه برابر بود یعنی اون مقدار توی صف هستش. حالا می تونم یه دستور برای حذفش بنویسم یه دستور هم برای شیفت دادن بقیه ی صف.:چشمک: