1 / 14

صف و پشته

صف و پشته. صف. ليست مرتب با خواص زير: تمام الحاقها در يک طرف انجام مي گردند. (tail) تمام حذفها در طرف ديگر انجام مي شوند. (head) صف: Q = (a 0 , a 1 , … , a n-1 ) a 0 عنصر ابتداي ليست و a n-1 عنصر انتهاي ليست است. براي تمام 1 <= i < n ، a i پشت سر a i-1 قرار دارد. صف.

ellie
Download Presentation

صف و پشته

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. صف و پشته

  2. صف ليست مرتب با خواص زير: • تمام الحاقها در يک طرف انجام مي گردند. (tail) • تمام حذفها در طرف ديگر انجام مي شوند. (head) صف: Q = (a0, a1, …, an-1) a0 عنصر ابتداي ليست وan-1 عنصر انتهاي ليست است. براي تمام 1 <= i < n ،ai پشت سر ai-1 قرار دارد

  3. صف • بخاطر خواص الحاق و حذف، صف خيلي شبيه: • صف نانوايي • ماشينها در ترافيک • بسته هاي داده در مسيريابها • ... • است. • از صف همچنين به عنوانfirst-in first out ياد مي شود.

  4. پیاده سازی • ابتدا بایستی توابع مورد انتظار و لازم را تعیین کنیم • تابع Add • مقداری جدید را به انتهای صف اضافه می کند. • تابع Delete • مقدار ابتدای صف را حذف کرده و بر می گرداند. • می توان از آرایه ها برای پیاده سازی صف استفاده کرد.

  5. پیاده سازی Q[0] همیشه عنصر ابتدای صف باشد. متغییری مانند rear داشته باشیم که عنصر انتهای صف را نشان دهد. Q[rear] عنصر انتها خواهد بود.

  6. پیاده سازی در C++

  7. پیاده سازی در C++

  8. پیاده سازی در C++

  9. پیاده سازی در C++

  10. استفاده از توابع

  11. صف در کتابخانه یqueue مقدار جدیدی را در داخل صف قرار می دهد آیا صف خالی است؟ مقدار عنصر ابتدای صف را بر می گرداند، ولی حذف نمی کند عنصر ابتدای صف را حذف می کند

  12. پشته INSERT DELETE A3 A3 TOP A2 A2 A2 TOP TOP A1 A1 A1 A0 A0 A0 • پشته يک ليست مرتب با يک خاصيت ويژه: • عنصری که دیرتر وارد شده است اولویت بیشتری دارد.

  13. مثال readFile() getData() main() مثال واقعي از پشته: در هنگام اجراي برنامه؛ اگر تابعي صدا شود از پشته استفاده مي گردد. وقتي يک تابع جديد صدا زده مي گردد، آن تابع بالاي پشته قرار مي گيرد. وقتي تابع تمام شد، تابع از پشته برداشته مي شود و کنترل به تابع صدا زننده که زير آن در پشته قرار دارد برگردانده مي شود. روشهاي بازگشتي از پشته خيلي استفاده مي کنند و رشد پشته در روشهاي بازگشتي زياد است.

  14. پیاده سازی

More Related