PDA

View Full Version : سوال: گرفتن ماکسیمم و مینیمم و میانگین در صف یا پشته پیوندی



irpersian20
چهارشنبه 23 اسفند 1391, 18:43 عصر
سلام
برای گرفتن مینیمم در صف یا پشته پیوندی چه راهکاری دارید؟
چون ما وقتی یک داده ای رو از صف بر می گردونیم. . اشاره گر که مثلا first باشه از اول یکی میاد جلوتر و نود قبلی حذف میشه به کل.
اگر به این طریق مینیمم بگیریم کل صف خالی میشه.
راه حل شما چیست؟ چه ایده ای دارید؟

که مینبمم و ماکسیمم بگیریم و صف پابرجا باشد. واضح تر بگم:
5
9
14
3
19
درون صف هستند. (صف پیوندی) . حالا میبنمم رو بدست بیارم. بعد مقدار رو برگردونم و این نود رو حذف کنم و صف بشه
5
9
14
19

الان صف رو پیاده کردن و عنصر توش درج و حذف میکنم و مشکلی نداره. نیاز به تکمیلش هست

tooraj_azizi_1035
پنج شنبه 24 اسفند 1391, 15:28 عصر
شما حتماً باید خودتون این کار رو بکنید؟
اگه پروژه دانشجویی نیست از خود کلاس های .NET استفاده کنید و با متد های Min و Max مقادیر لازم رو بگیرید.

irpersian20
پنج شنبه 24 اسفند 1391, 23:23 عصر
شما حتماً باید خودتون این کار رو بکنید؟
اگه پروژه دانشجویی نیست از خود کلاس های .NET استفاده کنید و با متد های Min و Max مقادیر لازم رو بگیرید.
سلام
بله خودم انجام میدم. فقط ایده میخوام.
میخوام ببینم راه کم هزینه چیست. من خودم یک راه دارم. یک بار کل صف بریم جلو و مقدار min حساب کنیم.
بعد دنبال میبننم بگیردیم و حذفش کنیم.
یعنی تابع و کلاس آماده برای این کار هست؟

j_naroogha@yahoo.com
جمعه 25 اسفند 1391, 00:09 صبح
بله ذوست عزیز

list<int> _Newlist =new list<int>();
a.add(0);
.
.
.
.
cout<< _Newlist.max();
این واسه کار با لیست پیوندیه...
واسه صف وپشته که کاری نداره...

irpersian20
جمعه 25 اسفند 1391, 10:42 صبح
بله ذوست عزیز

list<int> _Newlist =new list<int>();
a.add(0);
.
.
.
.
cout<< _Newlist.max();
این واسه کار با لیست پیوندیه...
واسه صف وپشته که کاری نداره...
سلام
این لیست پیوندی اماده میده؟
من خودم البته پیاده اش کردم بدون کمک به کلاس های .net
منتها میخوام ببینم این کلاس شامل چه نوع لینک لیست هایی هست؟

irpersian20
شنبه 26 اسفند 1391, 01:31 صبح
سلام
یک مشکل دارم.
برای پیدا کردن مینیمم من یک نود از اول حذف میکنم و به آخر اضافه میکنم . به تعداد نود ها این این کار میکنم.
منتها اشتباه دارم تو کارم.
وقتی عنصر اول که first هست رو میریزم تو Last.next اون . last خودش صاحب همه نود ها میشه و وقتی یک دور کامل بزنیم کل نود ها یک مقدار میگیرند و اون هم مقدار نود آخر هست
البته حدس من این بود.
نمیدانم مشکل چیست . خودم صف رو پیاده کردم.