تراكيب البيانات

Post on 14-Jan-2016

82 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

قسم علوم الحاسوب و تكنولوجيا المعلومات تخصص دبلوم البرمجيات و قواعد البيانات. الوحدة السادســة هيكل البيانات Stack. تراكيب البيانات. المادة العلمية إعداد أ. محمود رفيق الفـــرَّا http://mfarra.cst.ps. مدرس المساق/ أ . محمود رفيق الفـــرَّا. 2010-2011. محاور المحاضرة. - PowerPoint PPT Presentation

TRANSCRIPT

البيانات تراكيب

. / ا الفـــر� رفيق محمود أ المساق . مدرس / ا الفـــر� رفيق محمود أ المساق مدرس

المعلومات تكنولوجيا و الحاسوب علوم قسمالبيانات قواعد و البرمجيات دبلوم تخصص

إعداد العلمية المادةا. الفـــر% رفيق محمود http://mfarra.cst.psأ

2010-2011

السادســة الوحدةالبيانات Stackهيكل

المحاضرة محاور

؟ المكدس هـو (Stack)ما

اإلضافة Push operationعملية الحذف Pop operationعملية ما عنصر بيانات عرض الـ Stackإفراغ العناصر طباعة ما عنصر عن البحث باستخدام العناصر bubble Sortترتيب

2

. / أ إعداد العلمية المادة البيانات تراكيب مساقا محمودمحمود الفــر% رفيق

نحيــا ربنـا بذكرك

النوم عند الذكر

3

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

باسمك ربي وضعت جنبي وبك أرفعه إن أمسكت نفسي

فارحمها، وإن أرسلتها فاحفظها بما تحفظ به عبادك

الصالحين

باسمك ربي وضعت جنبي وبك أرفعه إن أمسكت نفسي

فارحمها، وإن أرسلتها فاحفظها بما تحفظ به عبادك

عليه الصالحين الله صلى الله رسول قال عنها الله رضي هريرة أبي aعنال : ) فإنه ، إزاره بداخلة فلينفضه ، فراشه إلى أحدكم أوى إذا وسلم

ليقل : ثم ، األيمن شقه على ليضطجع ثم ، عليه خلفه ما يدرينفسي أمسكت إن ، أرفعه وبك ، جنبي وضعت ربي باسمك

الصالحين ( عبادك به تحفظ بما فاحفظها أرسلتها وإن ، فارحمهاالجامع صحيح

؟ المكدس هـو Stackما

معها بالتفاعل تسمح التي البيانات هياكل أحد هو المكدس ) مفهوم) تحاكي هي و فقط واحدة جهة من إضافة و حذف

) أو) الرأسيـة الكتب من مجموعة مثل الرأسي الرص. أدناه الصور في يظهر كما الثمار من مجموعة

4

؟ المكدس هـو Stackما5

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

أي في اإلضافة و بالحذف تسمح القائمة كانت إن و , إال يسمح ال المكدس فإن% جهـة أي من و موضع : هم و أعلى من تتم فقط أساسية عمليات بثالث

الحذف Pushاإلضافـة .Peekالعرض Popو بمبدأ المكدس مع العمليات تتعامل أوال و يدخل من

أخيرا FIFO (First in First Out)يخرج , و أخرى بعمليات القيام نستطيع ال أننا يعني ال هذا

هذه على تعتمد أن البد أخرى عملية أي لكنالعمليات.

المكدس؟ عناصر هي ما6

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

لعناصر تماما مماثلة عناصر من المكدس يتكونالعمليات, سوى بينهما أبدا فروق يوجد ال و القائمة

. كالهما على بها بالقيام يسمح التي

Top

6

1

7

الموظفين Stackعناصر من7

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

1. class Employee {2. public int salary;3. public String name;4. public Employee()5. {6. salary = 300;7. name = "no name";8. }9. public Employee(int salary, String name)10. {11. this.salary = salary;12. this.name = name;13. }14. }

1. class Employee {2. public int salary;3. public String name;4. public Employee()5. {6. salary = 300;7. name = "no name";8. }9. public Employee(int salary, String name)10. {11. this.salary = salary;12. this.name = name;13. }14. }

الموظفين Stackبناء من8

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

1. class EmployeeStack2. {3. Employee Top = null;4. int length =0;5. المختلفة // العمليات تضاف هنا

.6 {

1. class EmployeeStack2. {3. Employee Top = null;4. int length =0;5. المختلفة // العمليات تضاف هنا

6. }

اإلضافة Pushعمليةoperation

9

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

: التالي خالل من يتم عنصر أي إضافة له يشير ما إلى يشير الجديد العنصر مؤشر جعل

Topالمؤشر المؤشر .Topجعل الجديد العنصر إلى يشير

Top Top

6

1

Top

6

1

7

اإلضافة Push operationعملية10

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

1. public void Push(Employee NewEmp) {2. Employee newe = NewEmp;3. if (Top == null) {4. Top = newe;5. newe.next = null; }6. else {7. newe.next = Top;8. Top = newe; }9. length++;10. Console.WriteLine("A new Employee has been added

to Stack: "+length);11. }

1. public void Push(Employee NewEmp) {2. Employee newe = NewEmp;3. if (Top == null) {4. Top = newe;5. newe.next = null; }6. else {7. newe.next = Top;8. Top = newe; }9. length++;10. Console.WriteLine("A new Employee has been added

to Stack: "+length);11. }

الحذف Pop operationعملية11

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

: التالي خالل من يتم العنصر حذف جعلTop. األول للعنصر التالي العنصر إلى يشير

Top

6

1

7 Top

6

1

7

اإلضافة Push operationعملية12

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

1. public void Pop()2. {3. if (Top == null)4. Console.WriteLine("Stack is Empty!!");5. else6. {7. Top = Top.next;8. length--;9. Console.WriteLine("Now Top Points to: "

+ Top.name);10. }11. 12. }

1. public void Pop()2. {3. if (Top == null)4. Console.WriteLine("Stack is Empty!!");5. else6. {7. Top = Top.next;8. length--;9. Console.WriteLine("Now Top Points to: "

+ Top.name);10. }11. 12. }

األخير العنصر بيانات عرض عمليةPeek

13

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

( آخر األخير للعنصر البيانات عرض عملية تعرف ) بـ ما إضافته تم .Peekعنصر

بالمؤشـر إليه مشار العنصر هذا TOPو

Top

6

1

7Top.nameTop.salary

األخير العنصر بيانات عرض Peek عملية14

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

1. public void Peek()2. {3. if (Top == null)4. Console.WriteLine("The Stack is

Empty!!");5. else6. Console.WriteLine("The Employee Data:\

n"+7. "Name: "+Top.name+"\nSalary:

"+Top.salary);8. }

1. public void Peek()2. {3. if (Top == null)4. Console.WriteLine("The Stack is

Empty!!");5. else6. Console.WriteLine("The Employee Data:\

n"+7. "Name: "+Top.name+"\nSalary:

"+Top.salary);8. }

أشكركم15

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

... كلها للعلوم مفتاح السؤالالجاذبيــة ... قوانين إلى وصل التفاحـة وقعت لماذا سأل عندما نيوتن أن تذكر

نحيــا ربنـا بذكرك

النوم من االستيقاظ عند الذكر

16

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

الحمد لله الذي رد علي روحي وعافاني في

جسدي ، و أذن لي بذكره

الحمد لله الذي رد علي روحي وعافاني في

جسدي ، و أذن لي بذكره , عليه الله صلى الله رسول قال قال عنه الله رضي هريرة أبي aعنروحي : ) : علي رد الذي لله الحمد فليقل أحدكم استيقظ إذا وسلم

) بذكره لي أذن و ، جسدي في وعافانياأللباني ه ـ% حسـنـ

الـ عناصر كافة إفراغ Stackعملية17

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

جعل ببساطة هي المكدس عناصر كافة إفراغتصبح Topالمؤشر بذلك و العناصر لهذه يشير ال

, ) تحذف ) يجعلها مما مستعملة غير العناصر الكائنات. الذاكرة من تلقائيـا

Top

6

1

7

الـ عناصر كافة إفراغ Stackعملية18

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

1. public void Clear()2. {3. if (Top == null)4. Console.WriteLine("The Stack is

Empty!!");5. else6. Top = null;7. Length = 0;8. }

1. public void Clear()2. {3. if (Top == null)4. Console.WriteLine("The Stack is

Empty!!");5. else6. Top = null;7. Length = 0;8. }

الـ عناصر طباعة Stackعملية19

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

عناصر على التنقل خالل من تتم الطباعة عمليةتعريف من يتم هذا و البيانات طباعة و المكدس

المتغير Currentمتغير يشير حيث من .Topيبدا

Top

6

1

7next

next

current

الـ عناصر طباعة Stackعملية20

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

1. public void PrintAll()2. {3. Employee current = Top;4. int x =1;5. while (current != null)6. {7. Console.WriteLine("Data Of Employee # "+x+" is\n "+

"Name: “ + current.name + "\nSalary: "+current.salary);8. Console.WriteLine("============================

==");9. x++;10. current = current.next;11. }12. }

1. public void PrintAll()2. {3. Employee current = Top;4. int x =1;5. while (current != null)6. {7. Console.WriteLine("Data Of Employee # "+x+" is\n "+

"Name: “ + current.name + "\nSalary: "+current.salary);8. Console.WriteLine("============================

==");9. x++;10. current = current.next;11. }12. }

ما عنصر عن البحث21

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

, و طريقـة من بأكثر يتم قد سابقا تعلمنا كما البحثخالل من يتحرك تكرار وجود على يعتمد جميعهم

المؤشر يوجد حيث من يبدأ مؤشر Topوجود

Top

6

1

7next

next

current

ما عنصر عن البحث22

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

1. public void SearchByName(String name )2. {3. Employee current = Top;4. bool flag = false;5. while ( current != null)6. {7. if (name.CompareTo(current.name) == 0)8. {9. flag = true;10. break;11. }12. current = current.next;13. }14. if (flag == true)15. Console.WriteLine("Exist!!");16. else17. Console.WriteLine("Does not Exist!!");18. }

1. public void SearchByName(String name )2. {3. Employee current = Top;4. bool flag = false;5. while ( current != null)6. {7. if (name.CompareTo(current.name) == 0)8. {9. flag = true;10. break;11. }12. current = current.next;13. }14. if (flag == true)15. Console.WriteLine("Exist!!");16. else17. Console.WriteLine("Does not Exist!!");18. }

أشكركم23

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

... كلها للعلوم مفتاح السؤالالجاذبيــة ... قوانين إلى وصل التفاحـة وقعت لماذا سأل عندما نيوتن أن تذكر

نحيــا ربنـا بذكرك

النزول و الصعود عند الذكر

24

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

إذا صعدنا قلنا الله أكبر ... إذا نزلنا قلنا سبحان الله ... إذا صعدنا قلنا الله أكبر ...

إذا نزلنا قلنا سبحان الله ...

صعدنا : ) إذا كنا قال عنها الله رضي الله عبد بن جابر aعنسبحنا . ( نزلنا وإذا ، كبرنا

البخاري صحيح

باستخدام العناصر ترتيبbubble Sort

25

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

, في االختالف و سبق فيما شرحه تم العناصر ترتيب , فعناصر العناصر كائنات طبيعة عن عبارة المكدس

متغير خالل من لها اإلشارة حيث Currentيتم من يبدأTopيوجد

Top

6

1

7next

next

current

الـ عناصر طباعة Stackعملية26

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

1. public void bubSort()2. {3. for (int i = 0; i < length; i++)4. {5. Employee current = Top;6. while (current.next != null) {7. if (current.salary > current.next.salary) {8. int TempSalary = current.salary;9. String Tempname = current.name;10. current.salary = current.next.salary;11. current.name = current.next.name;12. current.next.salary = TempSalary;13. current.next.name = Tempname; }14. current = current.next; } } 15. }

1. public void bubSort()2. {3. for (int i = 0; i < length; i++)4. {5. Employee current = Top;6. while (current.next != null) {7. if (current.salary > current.next.salary) {8. int TempSalary = current.salary;9. String Tempname = current.name;10. current.salary = current.next.salary;11. current.name = current.next.name;12. current.next.salary = TempSalary;13. current.next.name = Tempname; }14. current = current.next; } } 15. }

أشكركم27

. / أ إعداد العلمية المادة البيانات تراكيب مساقا الفــر% رفيق محمود

... كلها للعلوم مفتاح السؤالالجاذبيــة ... قوانين إلى وصل التفاحـة وقعت لماذا سأل عندما نيوتن أن تذكر

top related