PDA

نسخه کامل مشاهده نسخه کامل : صف ها در c



hi2bye
16-11-2006, 09:29
سلام .من برنامه اي به زبان c در مورد queue و circular queue و priority queue احتياج دارم . متشكر مي شم كمكم كنيد .

someone
16-11-2006, 14:18
سلام.
من پيشنهاد ميكنم از ++C استفاده كنيد. ميتونيد از STL queue استفاده كنيد كه كارتون رو خيلي راحت ميكنه.
اين Queue براساس FIFO عمل ميكنه.
اين برنامه يه نمونه خيلي ساده ازش هست.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ميبينيد كه خيلي راحت ميشه ازش استفاده كرد. كافي بيشتر در باره STL Queue جستجو كنيد.
اگه مشكلي پيش اومد خبر بديد.

peyman1987
17-11-2006, 10:22
someone عزيز لطفا بيشتر توضيح بدين که اين STL Queue به روش خطي کار ميکنه يا به روش حلقوي. در ضمن امکان استفاده از اون براي صف اولويت دار هم وجود داره يا نه ؟

someone
17-11-2006, 12:37
دوباره سلام.
<queue> خطی عمل میکنه. هموطور که قبلا هم گفتم به صورت First In First Out کار میکنه.
وقتی شما داده ای رو push میکنید در پایین ترین اولیت قرار می گیره. حالا اگه داده ی جدیدی رو push کنید داده قدیمیتر دارای اولویت بالاتری هست. و وقتی که از pop استفاده میکنید, داده ای که دارای اولویت بالاتری بالاتری هست (highest Priority) از queue بیرون کشیده میشه. اولین داده همیشه دارای بالاترین اولویت و آخرین داده دارای پایین ترین اولویت هست. البته اجازه دارید که از ابتدای صف هم داده رو pop کنید.
در ضمن STL دیگری هم به نام priority_queue وجود داره که بسیار جالب عمل میکنه. کافی در باره اش search کنید. این STL به راحتی یک queue رو مرتب میکنه.