دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۵
  • مرداد

جلسه ۳۵ : معرفی صف (Queue) در #C

  • دسته‌بندی‌ها :
جلسه ۳۵ : معرفی صف (Queue) در #C
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه :

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش #c ، را دنبال می کنند. در قسمت قبلی با نوعی از مجموعه ها با نام Stack (پشته) آشنا شدید. در این بخش قصد داریم شما را با معرفی صف در #c که نوعی دیگر از مجموعه های غیر عمومی در زبان #C هستند ،آشنا کنیم.

      مجموعه صف در فضای نام System.Collection موجود می باشد. صف عناصر را به سبک FIFO) First In First Out) ذخیره می کند، دقیقا مخالف مجموعه Stack .

      صف در #C

      صف در #C

       

      متدها و پراپرتی های مهم در صف:

      توضیحاتپراپرتی
      تعداد کل عناصر در صف را برمی گرداند.Count

       

      توضیحاتمتد
      اضافه کردن عنصر به صفEnqueue
      یک مورد را از ابتدای صف حذف و بازمی گرداند.Dequeue
      یک مورد را از ابتدای صف بازمی گرداند بدون اینکه آن را حذف کند.Peek
      چک می کند که آیا عنصر مورد نظر در صف موجود هست یا خیرContains
      تمام عناصر موجود در صف را حذف می کندClear
      ظرفیت صف را به اندازه تعداد عناصر در صف تنظیم می کند.TrimToSize

       

      متد Enqueue :

      صف یک مجموعه غیر عمومی است. بنابراین شما می توانید هر نوع داده را به یک صف با استفاده از متد Enqueue اضافه کنید.

      شکل کلی :

      void Enqueue(object obj)

      مثال : 

       

      متد  Dequeue :

      متد Dequeue برای بازیابی عناصری که زودتر وارد صف شده اند استفاده می شود . Dequeue اولین عنصر را از یک صف حذف کرده و آن را باز می گرداند، زیرا در صف عناصر به سبک FIFO ذخیره می شوند . متد Dequeue در صف خالی، استثناء InvalidOperation را باز می گرداند. بنابراین همیشه باید قبل از فراخوانی متد Dequeue صف را بررسی کرده و مطمئن شویم که تعداد عناصر آن از ۰ بیشتر باشد.

      شکل کلی دستور :

      object Dequeue()

      مثال : 

      خروجی :
      مثال : 

       

      متد peek :

      متد Peek اولین عنصر را از یک مجموعه صف باز می گرداند بدون آنکه آن را از صف خارج کند. متد های Peek و Dequeue در یک مجموعه صف خالی، استثناء “InvalidOperationException” را برمی گردانند.

      شکل کلی :

      object Peek()

      مثال : 

      خروجی :

      مثال : 

      شما می توانید به عناصر یک صف بدون حذف عناصر آن دسترسی داشته باشید ، برای اینکار باید صف را به آرایه تبدیل کنید، مانند مثال زیر:

      مثال : 

      خروجی :

      مثال : 

       

      متد Contains :

      متد Contains بررسی می کند که یک عنصر درصف وجود دارد یا خیر. اگر عنصر مشخص شده وجود داشته باشد، عبارت true را برمیگرداند در غير اينصورت، false را برمیگرداند.

      شکل کلی :

      bool Contains(object obj)

      مثال : 

       

      متد Clear :

      این متد تمام عناصر موجود در صف را حذف می کند.

      شکل کلی :

      void Clear()

      مثال : 

      خروجی :

      مثال : 

       

      چند نکته مهم جهت به خاطر سپردن :

      1. صف مقادیر را به صورت FIFO (First in First out) ذخیره می کند. عنصری که ابتدا به آن افزوده می شود، اولین عنصری است که از صف خارج می شود.
      2. از متد Enqueue برای اضافه کردن عناصر به صف استفاده می شود.
      3. متد Dequeue عناصر را از اول صف برداشته و سپس حذف می کند. فراخوانی متد Dequeue در یک صف خالی، باعث بروز استثناء می شود.
      4. متد Peek یک عنصر را از اول صف برمی دارد بدون اینکه آن را حذف کند.

       

      در این بخش با یک مجموعه به نام Queue در زبان #C آشنا شدید .

      در بخش بعدی در مورد مجموعه ای دیگر به نام Hashtable در زبان #C صحبت خواهیم کرد.

       

      QR:  جلسه ۳۵ : معرفی صف (Queue) در #C
      به اشتراک بگذارید