تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
هياكل البيانات Data Structures الصف Queue : الجزء الاول
#1
[COLOR="#000080"]
بسم الله الرحمن الرحيم

ساتكلم هنا عن الصف QUEUE وهو احد بنى المعطيات وذلك لما له من فائدة في الاستخدام البرمجي
وايضا لان اغلب الاخوة لا يعرفون عنه شيئاً

اولا:
ما هو الصف QUEUE ؟
هو عبارة عن مصفوفة تحوي اي نوع من البيانات تقوم انت بتحديده ولكنها تتميز بأنها تتبع اسلوب ال FIFO والذي يعني First In First Out او الداخل اولا خارج اولا
اي انه لا يمكنك اخد الا العنصر الاول منها وبعدما تاخذه رح ينحذف من المصفوفة او الصف بالاحرى

هي تشبه طابور السينما الى حد كبير او اي طاور اخر
حيث يوجد ناس واقفين بالدور واللي يجي اول شي راح يدخل اول شي وهكذا

ثانياً:
كيف اعرف الـصف Queue ؟
من زمان كنا نقوم نحن ببرمجته
لكن الان هو جاهز ما عليك سوى ان تصرح عنه بهذه الطريقة
كود :
Dim Q As New Queue(Of String)

وطبعا تستطيع ان تحدد نوع بيانات اخر مكان String
المهم الان اصبح عندك صف جاهز للاستخدام

ثالثا:
كيف اضيف البيانات الى الصف Queue؟
كما قلت لك اصبح الصف جاهزاً ولا داعي لتشغل بالك باموره البرمجية لذا ما عليك الا ان تستخدم الدالة Enqueue ويتم ذلك بهذا الشكل
كود :
Q.Enqueue("Any String")

وبهذا الكود يتم ادخال النص Any String الى الصف ليأخذ دوره

رابعاً:
كيف استخرج البيانات من الصف Queue ؟
ايضا لا داعي للقلق فهذا اسهل مما تتصور
استخدم الدالة Dequeue وهي ستقوم بالمطلوب
ستعيد لك العنصر الاول من الصف ثم ستقوم بحذفه من الصف ومن ثم تقريب جميع القيم ليصبح الثاني هو الاول والثالث هو الثاني و هكذا
ويتم استخامها بهذا الشكل
كود :
Dim S As String = Q.Dequeue

هنا وضعنا العنصر الاول بالمتغير S وطبعا تستطيع استعماله كما تريد

خامساً:
بماذا يفيدني الصف Queue برمجياً؟
ممم هذا اهم سؤال
حسنا يفيدك كثيرا عند تصميم برنامج يقوم بمعالجة طلبات متعددة مثل ارسال ملفات او معالجة صور او صوت او اي برنامج يقوم بتنفيذ مهام
حيث انك تضع المهام في الصف ثم تستخرج منه مهمة تلو الاخرى و تنفذها

في النهاية اعذروني على طريقتي بالشرح فبالنهاية انا لست محترفاً

وهنا اريد ان اورد مثال صغير عن الصف
كود :
Public Class Form1
    Dim Q As New Queue(Of String)

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For i = 0 To 5
            Q.Enqueue(i)
        Next
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        For i = 1 To Q.Count
            MsgBox(Q.Dequeue)
        Next
    End Sub
End Class

فقط قم باضافة button واحد
ولاحظ سهولة استخدام الصف في ادخال البيانات و استعادتعا ومعالجتها
[/COLOR]


الملفات المرفقة
.rar   Queue.rar (الحجم : 61.41 ك ب / التحميلات : 77)
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] اختيار متغير يظهر لي الرقم المناسب من كومبوبكس الصف الدراسي loay775 1 31 01-04-24, 06:32 AM
آخر رد: loay775
  [VB.NET] التحقق من تكرار البيانات بعد الاستيراد من اكسيل loay775 1 40 01-04-24, 06:32 AM
آخر رد: loay775
  رقابة قاعدة البيانات (التحديث التلقائي للبيانات ) SqlDependency قناص المدينة 0 529 05-10-23, 04:43 PM
آخر رد: قناص المدينة
  الجزء الثالث من:كيف تجعل الـ Text Box ذكي!يترجم العمليات الحسابية ويخرج الناتج (الأقواس المتعددة) !! أنس محمود 10 7,840 19-07-22, 12:15 AM
آخر رد: StartLight4000
Video [درس فيديو] حل مشكلة تغيير مسار قاعدة البيانات مع تقارير كريستال ريبورت رمضان272 0 1,692 23-04-22, 05:56 AM
آخر رد: رمضان272
  [شرح] اتصال بقاعدة بيانات اكسيس , اضافة بيان , تعديل بيان , حذف بيان , عرض البيانات . ahmed salam 25 38,261 23-02-22, 06:04 PM
آخر رد: رضوان الجماعي
  [SQL] تحسين أداء وسرعة قاعدة البيانات SQL SERVER اسامه الهرماوي 0 3,596 28-10-19, 03:12 AM
آخر رد: اسامه الهرماوي
  [VB.NET] برمجة dynamic Buttons مع قواعد البيانات mgr21002100 1 2,866 13-08-19, 05:36 PM
آخر رد: asemshahen5
Rainbow [كود] بعض خواص قواعد البيانات اسامه الهرماوي 2 2,901 13-10-18, 01:39 AM
آخر رد: اسامه الهرماوي
  حساب قيمة معادلة(اقصد صيغة دون مجاهيل) مكتوبة بالتكست : الجزء الخامس والاخير محمد شريقي 4 4,521 23-02-18, 10:44 PM
آخر رد: العواد الصغير

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم