انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => برنامه‌سازی => نویسنده: 404 در 25 آذر 1386، 06:26 ب‌ظ

عنوان: یک سوال در مورد iterator ها در c++ [حل شد]
ارسال شده توسط: 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
عنوان: پاسخ به: یک سوال در مورد iterator ها در c++
ارسال شده توسط: ابراهیم در 25 آذر 1386، 09:29 ب‌ظ
سلام،
احتمالاً منظورت این بوده که tmp رو با ()g.end مقایسه کنی. ;)
عنوان: پاسخ به: یک سوال در مورد iterator ها در c++
ارسال شده توسط: 404 در 25 آذر 1386، 10:53 ب‌ظ
اوه !!!!عجب سوتی فجیعی بود !!!!!!!!!! :o  آروم تر بگین، بین خودمون باشه  ;)
ممنون که گفتید ;D
(ویرایش کردمش که کمتر ضایع شم  ;D)
عنوان: پاسخ به: یک سوال در مورد iterator ها در c++
ارسال شده توسط: ابراهیم در 25 آذر 1386، 11:08 ب‌ظ
[حل شد]؟ :)
عنوان: پاسخ به: یک سوال در مورد iterator ها در c++
ارسال شده توسط: 404 در 25 آذر 1386، 11:31 ب‌ظ
[حل شد]؟ :)


می تونید به عنوان این یه حل شد اضافه کنید و به تاپیک بعدی هم یه حل نشد  ;D