انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: 404 در 25 آذر 1386، 06:26 بظ
-
آیا روشی هست که بشه باهاش ۲ تا iterator رو ببینیم با هم مساوی هستند یا نه؟ توی stl documentation گشتم اما چیزی پیدا نشد.
مثلا این تیکه کد اررور می ده:
#include<set>
typedef _Rb_tree_const_iterator<int> it;
multiset <int> g;
....
it tmp=lower_bound(g.begin(),g.end(),c[i].a);
....
if(tmp== g.end()){
cout<<-1<<endl;
return 0;
}
کلا اینو لازم دارم که از O(lgn) هر عملیاتم باشه از طرفی می خوام راحت lower_bound بگیرم. می خوام multiple numbre هم داشته باشم. تنها data structure که به نظرم رسید multiset بود... اما می خوام بگم اگه فلان عدد اصن پیدا نشد -یعنی lower_bound اومد و g.end() رو return کرد- اون موقع فلان کن... حالا یکی بگه این شرط رو چی کارش کنم؟؟ اگه کلا هم راه دیگه ای واسه کاری که من می خوام سراغ دارید ، :D
-
سلام،
Ø§ØØªÙ…الاً منظورت این بوده Ú©Ù‡ tmp رو با ()g.end مقایسه Ú©Ù†ÛŒ. ;)
-
اوه !!!!عجب سوتی فجیعی بود !!!!!!!!!! :o آروم تر بگین، بین خودمون باشه ;)
ممنون که گفتید ;D
(ویرایش کردمش که کمتر ضایع شم ;D)
-
[حل شد]؟ :)
-
[حل شد]؟ :)
می تونید به عنوان این یه حل شد اضافه کنید و به تاپیک بعدی هم یه حل نشد ;D