الهياكل الموصولة ويطلق عليها في كثير من الأحيان بالقوائم الموصلة linked lists المؤشرات pointers : أن القوائم الخطية البسيطة مثل ألـ stack والـ Queue.

Slides:



Advertisements
عروض تقديميّة مشابهة
اساسيات تكنولوجيا الشبكات
Advertisements

نظم المعلومات الهيدرولوجية
مقرر الإحصاء (عرض 160) المحاضرة (8) أ . عهد الشائع.
الفصل الأول مدخل إلى علم الفيزياء 1.
المتحكمات المنطقية القابلة بالبرمجة (Programmable Logic controller )
تصنيف المركبات العضوية
المصدر : مركز الرائد للتدريب والتطوير الإعلامي (خاص)
قياس العائد المتوقع والمخاطر المتوقعة
Worksheet #2 باستعمال الدوال, أكتبي برنامج يطلب من المستخدم إدخال عددين (طول وعرض مستطيل), ثم يقوم البرنامج بحسابة مساحة المستطيل وطباعته, علماً بأن.
الفصل الرابع : نموذج تسعير الأصول المالية
مدرس المادة: وسن عبدالله الاوسي
تخطيط العنوان العنوان الفرعي.
كيفية تفعيل البريد الالكتروني How to activate
CHAPTER ONE Real numbers  
Engineering Materials 30
إضافة حقل من معرض الحقول يمكنك الاختيار من مجموعة متنوعة من الحقول المنسقة مسبقًا وإضافتها إلى الجدول باستخدام معرض الحقول.   ضمن علامة التبويب حقول، في.
أسالوا لنا الدعاء بسم الله الرحمن الرحيم الإسم :- بشير خليل إسحاق أحمد
الدورة المستندية لمنافذ البيع
الشفرة الجوية SYNOP Data Format (FM-12)
العينات الهدف العام: معرفة مفهوم العينة و أنواعها وطرق تحديدها. عندما تكمل هذه الوحدة يكون المتدرب قادراً وبكفاءة على أن: يعرف مجتمع وعينة الدراسة. يفهم.
Title here هنا عنوان البحث
What is Google Scholar?.
Manufacturing process 8
Presentation for DBA Mini Viva --/--/2018
طريقة عمل فورمات للكمبيوتر و تثبيت windows 7
كيف تختلف الذرات؟.
الطالب/ة المتدربة: إسلام زيد مدرسة راهبات المخلص- الناصرة
مقرر الاحصاء عرض 160 المحاضرة (6) أ . عهد الشائع.
The Second Sunday of Amshir الاحد الثاني من أمشير
سوف اقوم في هذا الدرس بشرح Binary Tree Traversal
امثلة مشكلة النقل.
كيفية تفعيل البريد الالكتروني How to activate
برنامج إدارة قواعد البيانات
العنوان الحركة على خط مستقيم
مقدمة لقواعد البيانات (1207 عال) تحويل نموذج الكينونة/العلاقة إلى قاعدة بيانات علائقية Relational DB Design ER-to-Relational Mapping.
طريقة دمج المراسلات.
GC 101 Programming Principles java
كلية الهندسة – قسم الهندسة الميكانيكية
الفصل الثالث نماذج شبكات الاعمال Network Modeling
أساسيات الحاسب ونظام التشغيل
تخطيط العنوان العنوان الفرعي.
انظمة الدفع الإلكتروني في التجارة الالكترونية
امثلة مشكلة النقل.
تبديل بين قيم المتغيرات
مبادئ قواعد البيانات العلائقية تصميم قاعدة البيانات (رسم نموذج الكيان والعلاقة الرابطة ERD) المحاضرة الثانية.
تطبيقات تجارية على الحاسب الآلي التعليم المفتوح
البرمجة بلغة الفيجول بيسك
المحاضرة الثانية د. مصطفى كامل
مقدمة فى برنامج DOS ناصر حسن إسماعيل من إعداد
تفعيل الواقع المعزز في العملية التعليمية
Microsoft Excel.
مقرر الاحصاء عرض 160 المحاضرة (7) أ . عهد الشائع.
Course Name : Principles of Marketing Code : MRK 152 Chapter : Three
التحدي العالمي Love Heart الدرس ٣.
برنامج (معالج النصوص) Microsoft Word
Business Model Canvas -
الدروس المستفادة في مجال الصحة والسلامة والبيئة
المحاضرة العشرون د. مصطفى كامل
التحدي العالمي Love Heart الدرس٢.
تحويل نموذج الكيان والعلاقة الرابطة إلى جداول
جمع البيانات وترميزها أولاً: بعض المصطلحات الإحصائية:
أساسيات استخدام الانترنت
تعرض دالة الانتاج التي تمت مناقشتها اعلاه قانون تناقص العائد الحدي نلاحظ ابتداءاً ان استخدام عدد اكبر من العمال لتشغيل معدات استخراج المعادن ( العنصر الثابت.
القوانين الاساسية في تحليل الدوائر الكهربائية
أمثلة لتطوير وتطبيق الغوريثم في امر الشرط
الأسلوب المنهجي في تصميم البرنامج التدريبي
الإنترنت .. مصدراً للمعلومات
كيف تخزن الذاكرة المعلومات بداخلها؟!
الأسئلة الأربعة القادمة تحدد ما إذا كنت من المتخصصين أم لا.
نسخة العرض التّقديمي:

الهياكل الموصولة ويطلق عليها في كثير من الأحيان بالقوائم الموصلة linked lists المؤشرات pointers : أن القوائم الخطية البسيطة مثل ألـ stack والـ Queue والـ array كانت البيانات فيها تخزن بأسلوب خطي حيث أن هذا الأسلوب أو الترتيب ينعكس على هيكل الخزن في الذاكرة أي أن الترتيب يكون منطقيا وفيزياويا وهنا تنتفي الحاجة إلى معرفة أين سنجد العنصر الذي يلي العنصر الحالي لان موقعه معروف مسبقا من خلال هيكلة التخزين المتعاقب، والآن لو فرضنا أن لدينا قائمة تتألف من مجموعة عناصر عددها متغير فان عملية الاحتساب المباشر لعنوان عنصر معين من تلك القائمة سوف يكون أكثر صعوبة أذا كان الترتيب غير متعاقب وعليه أن أفضل طريقة للحصول على عنوان عنصر معين هو بخزن عنوان هذا العنصر في الذاكرة ضمن العنصر الذي يسبقه، وهذا مانطلق عليه بالمؤشر (pointer). يستخدم المؤشر (pointer) في C++ كعنوان للمتغير في الذاكرة، أي كأنه يمثل رقم شقة في العمارة ،بغض النظر عن محتوى الشقة وقيمة ما فيها. الأداتان أو الرمزان & ، * تستخدمان مع المؤشرات حيث تستخدم & لإعطاء عنوان متغير في الذاكرة * تستخدم لإعطاء قيمة المتغير الموشر ( المشار إليه). أن استخدام الموشرات العناصر المتجاورة منطقيا وليس من الضروري أن يكون متجاورا فيزياويا عند خزنها في الذاكرة ، وهذا النوع من التخصص يسمى بالتخصيص الموصول حيث أن كل عنصر من عناصر القائمة تمثل بعقدة ( node) والتي تحتوي على حقلين الحقل الأول مخصص للبيانات (data) والحقل الثاني يحتوي على عنوان العقدة التالية في العقدة الحالية ويسمى ( next) وعليه ستكون العقدة كما يلي : Next Data

أن كل قائمة موصولة تتكون من مجموعة من العقد (node) ويكون لها مؤشر يحتوي عنوان أول عقدة في القائمة وعادة ما يسمى بـ (head) والذي عن طريقه يمكن الوصول إلى أي عقدة في القائمة . والعقدة الأخيرة هي التي يكون   أذا فرضنا أن لدينا قائمة حجمها N من العناصر وترغب باستخدام أسلوب التخصيص غير المتعاقب ( الموصول) لأخزن العناصر فيها فأننا سنحتاج إلى تخصيص جدول أخر بحجم N أيضا يتضمن عناوين عناصر القائمة وكما موضح في الشكل التالي

Node name -> member name يتم تمثيل العقدة ( node) في لغة C++ كما يلي : Typedef struck node { Int data; Struck node * next ; } node; لتمثيل الـ node نحتاج الى استدعاء المكتبة <stdlib.h> في بداية البرنامج في لغة C++ لقراءة وطبع أي عنصر في الـ node يتم من خلال العلاقة التالية :

Algorithm Create linked list Step1 : [ represent the node in C++ as struck] Typedef struck node { int data ; Struck node * next ; } node; Step 2 : [ initial value to linked list ] Node * head = null Step 3 : [ use the function malloc ( size of ( node) to know is there exists enough memory or no to great the linked list ] Temp = ( node*) malloc ( size of (node))

تمثيل العقدة في لغة C++ تعطي قيم ابتدائية للقائمة أي مجلها فارغة او خالية (head=null) . تستخدم الدالة malloea( size) لمعرفة هل توجد أماكن كافية في الذاكرة ام لا ، وفي حالة عدم وجود أماكن في الذاكرة فان الدالة تعطي مؤشر صفريا null pointer وهذا يعني انه لا يمكن تكوين القائمة الموصولة . اما في حالة وجود اماكن كافية في الذاكرة هذا يعني انه بانه بامكان الاشارة الى المواقع كعقدة (node) وبهذا يمكن تكوين القائمة الموصولة ،بحسب ما موجود من فراغات بالذاكرة.

Program of create list and display # include < iostream.h> # include < stdlib.h> Typedef struck node { Int data ; Struck node * next ; } node; Node * head=null; Void create list ( ) Int ch ; Node * prev , * temp ; While ( 1) Cout<<" \n enter your choice o – exit \ 1- add: "; Cin >> ch ; If ( ch = = 0 ) break ; Temp = ( node * ) malloc ( size of ( node )); Cout <<" \n enter data for new node : "; Cin >> temp -> data; Temp -> next = null ; If ( head = = null ) { head = temp; } Else

{ prev -> next = temp ;   } prev = temp; } Void display ( ) { node * temp ; For ( temp = head ; temp ! = null ; temp =temp-> next ) { cout <<" \n data of list are at the address" Cout <<temp-> data ; Void main ( ) { int ch ; Hand : Cout <<" \n [ 1 ] create list "; Cout <<" \n [2 ] display list "; Cout <<" \n [3 ] exit "; Cout <<" \n enter your choice "; Cin >> ch ; Switch ( ch ) { cas 1 : create list ( ) ; goto hand ; Cas2: display ( ) ; goto hand ; Cas3 : break;