SlideShare una empresa de Scribd logo
1 de 27
DATA STRUCTURE
Chapter 2: Array & Array List
Prepared & Presented by
Mr. Mahmoud R. Alfarra
2011-2012
College of Science & Technology
Dep. Of Computer Science & IT
BCs of Information Technology
http://mfarra.cst.ps
Out Line
 Print the elements of Arrays
 Storing data in Arrays
 Swap two elements in array.
 How to delete an element from array?
 How to insert a new element in array
 The concept of complexity
 What is Array List? How to use?
2
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
Array data structure
3
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
Array data structure
4
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
Print the elements of 1-D Arrays
5
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
1. static void Main(string[] args)
2. {
3. string[] names = { "Ali", "Mahmoud", "Hussam",
"Ala" };
4. for (int i = 0; i < names.Length; i++)
5. Console.WriteLine("The next name is
"+names[i]);
6. Console.Read();
7. }
Print the elements of 2-D Arrays
6
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
1. static void Main(string[] args)
2. {
3. string[,] names = { {"Ali", "Mahmoud"}, {"Hussam", "Ala"} };
4. for (int i = 0; i < names.GetLength(0); i++)
5. Console.WriteLine("The next name is " + names[i,0]+" “ + names[i,1]);
6. Console.Read();
7. }
Storing data in 1-D Arrays
7
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
1. static void Main(string[] args)
2. {
3. int[] id = new int[5];
4. for (int i = 0; i < 5; i++)
5. id[i] =int.Parse(Console.ReadLine());
6. Console.WriteLine("==== The numbers in Array are =====");
7. for (int i = 0; i < 5; i++)
8. Console.WriteLine(" Next Number is " + id[i]);
9. Console.ReadLine();
10. }
Storing data in 2-D Arrays
8
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
1. static void Main(string[] args)
2. {
3. string[,] names = new string[2, 3];
4. for (int i = 0; i < 2; i++)
5. for (int j = 0; j < 3; j++)
6. names[i, j] = Console.ReadLine();
7. for (int i = 0; i < 2; i++)
8. {
9. for (int j = 0; j < 3; j++)
10. Console.Write(names[i, j]);
11. Console.WriteLine();
12. }
13. Console.Read();
14. }
Swap two elements in 1-D array
9
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
1. static void Main(string[] args)
2. {
3. int[] numbers = { 3, 5, 7, 23, 56, 12 };
4. int x;
5. x = numbers[0];
6. numbers[0] = numbers[1];
7. numbers[1] = x;
8. Console.WriteLine(" ");
9. Console.WriteLine(" The elements of array after swap");
10. for (int i = 0; i < numbers.Length; i++)
11. Console.WriteLine(" "+numbers[i]);
12. Console.Read();
13. }
Try to implement the above example with 2-D array
How to delete an element from
array?
10
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
2 7 80 88 90 99
9 12 15 23 30 45 70 77
1 2 3 4 5 6 7 8 9 10 11 12 13
array
0
15
14
To delete the 5’th cell
2 7 80 88 90 99
9 12 15 23 30 45 15 77
1 2 3 4 5 6 7 8 9 10 11 12 13
array
0 14
1 2 3 4 5 6 7 8 9 9
array
0
2 7 80 88 90 99
9 12 23 30 45 15 77
1 2 3 4 5 6 7 8 9 10 11 12 13
99
14
Null
How to delete an element from
array?
11
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
1. static void Main(string[] args)
2. {
3. int[] id = { 10, 12, 11, 45 };
4. // to delete the value 12
5. int i;
6. for ( i = 0; i < id.Length-1; i++)
7. {
8. if (id[i] == 12)
9. {
10. break;
11. } }
12. for (int j =i ; j < id.Length-1; j++)
13. id[j] = id[j + 1];
14. for (int k = 0; k < id.Length; k++)
15. Console.WriteLine(" "+id[k]);
16. Console.Read(); }
How to delete an element from
array?
12
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
1. static void Main(string[] args)
2. {
3. int[] id = { 10, 12, 11, 45 };
4. // to delete the value of index 2
5. for (int i =2 ; i < id.Length-1; i++)
6. id[i] = id[i + 1];
7. for (int k = 0; k < id.Length; k++)
8. Console.WriteLine(" "+id[k]);
9. Console.Read();
10. }
How to insert a new element in
array?
13
2 7 80 88 90 99
9 12 15 23 30 45 70 77
1 2 3 4 5 6 7 8 9 10 11 12 13
array
0
13
14
To insert value
2 7 80 88 90 99
9 12 15 23 30 45 70 77
1 2 3 4 5 6 7 8 9 10 11 12 13
array
0 14
13
‫تصاعدي‬ ‫بشكل‬ ‫القيمة‬ ‫حسب‬ ‫العناصر‬ ‫مرتبـة‬ ‫مصفوفة‬ ‫في‬ ‫عنصر‬ ‫إضافة‬ ‫طريقة‬ ‫يوضح‬ ‫العلوي‬ ‫الشكل‬
How to insert a new element in
array?
14
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
1. static void Main(string[] args)
2. {
3. int[] salary = new int [6];
4. salary[0] = 1200;
5. salary[1] = 2000;
6. salary[2] = 1000;
7. salary[3] = 3210;
8. salary[4] = 4310;
9. // to add value 3000 in the position 3
10. for (int i = salary.Length - 1; i > 3; i--)
11. salary[i] = salary[i - 1];
12. salary[3] = 3000;
13. Console.WriteLine(" === Values of Array after inserting === ");
14. for (int j = 0; j < salary.Length; j++)
15. Console.WriteLine(" Value: "+salary[j]);
16. Console.Read();
17. }
How to insert a new element in array?
15
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
1. static void Main(string[] args) {
2. int[] salary = new int[6];
3. salary[0] = 100;
4. salary[1] = 200;
5. salary[2] = 300;
6. salary[3] = 1210;
7. salary[4] = 2310;
8. // To add value 250
9. int i;
10. for (i = 0; i < salary.Length; i++)
11. if (salary[i] > 250)
12. break;
13. for (int j = salary.Length - 1; j > i; j--)
14. salary[j] = salary[j - 1];
15. salary[i] = 250;
16. Console.WriteLine(" ");
17. Console.WriteLine(" === Values of Array after inserting === ");
18. for (int j = 0; j < salary.Length; j++)
19. Console.WriteLine(" Value: " + salary[j]);
20. Console.Read(); }
‫ت‬ ‫تددد‬ ‫ذاتي‬ ‫تدددب‬
:
‫ت‬ ‫قددد‬
‫ت‬ ‫ددددددددد‬‫د‬ ‫ت‬ ‫دددددددددبذ‬‫د‬‫بالتع‬
‫ت‬ ‫دددا‬ ‫ت‬ ‫دد‬‫د‬‫ددافيتح‬‫د‬‫ن‬ ‫لب‬
‫دد‬ ‫نا‬ ‫كانددكتكاحددات‬
‫ت‬ ‫دددد‬‫د‬ ‫ددددأصحات‬‫د‬ ‫لف‬
‫بت‬ ‫لفددد‬ ‫لةذفدددات‬ ‫فدددلت‬
‫إبخالها‬
‫الخوارزميات‬ ‫دراسـة‬ ‫مفهوم‬
16
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬

‫ما‬ ‫الخوارزمياات‬ ‫هذه‬ ‫تحتاجه‬ ‫ما‬ ‫دراسـة‬ ‫هو‬ ‫الخوارزميات‬ ‫دراسة‬ ‫بمفهوم‬ ‫يقصد‬
‫للحل‬ ‫للوصول‬ ‫تخزي‬ ‫مساحة‬ ‫و‬ ‫وقت‬
,
‫باسام‬ ‫العلام‬ ‫هاذا‬ ‫يعرف‬ ‫و‬
Complexity of
Algorithms

‫الوقت‬
(
‫خطوات‬ ‫عدد‬ ‫على‬ ‫يعتمد‬
)

‫تخزي‬ ‫مساحة‬
(
‫ال‬ ‫الذاكرة‬ ‫في‬ ‫لتخزينها‬ ‫نحتاج‬ ‫التي‬ ‫المعلومات‬ ‫عدد‬ ‫على‬ ‫يعتمد‬
‫عشوائية‬
)

‫فمثـال‬
:
‫المصافوفة‬ ‫فاي‬ ‫جدياد‬ ‫عنصار‬ ‫تخازي‬ ‫أردناا‬ ‫إذا‬
,
‫ل‬ ‫نحتااج‬ ‫هناا‬ ‫فانح‬
‫حسااب‬
‫التخازي‬ ‫لعملياة‬ ‫بااضاافة‬ ‫لتحريكهاا‬ ‫نحتااج‬ ‫التي‬ ‫العناصر‬ ‫عدد‬
,
‫لنحسا‬
‫و‬ ‫الوقات‬ ‫ب‬
‫المساحة‬
.
n
log n
exp (n)

‫الوقاات‬ ‫اد‬‫ا‬‫تعقي‬ ‫ادا‬‫ا‬‫لم‬ ‫عامااة‬ ‫مقااادير‬ ‫اام‬‫ا‬‫هن‬ ‫و‬
‫المستخدم‬
,
‫المقاب‬ ‫بالشكل‬ ‫موضحة‬ ‫هي‬ ‫و‬
‫ل‬
.
‫الخوارزميات‬ ‫دراسـة‬ ‫مفهوم‬
17
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬

‫اااارف‬‫ا‬‫يع‬ ‫و‬
Time complexity
‫ااااام‬‫ا‬‫البرن‬ ‫ااااذ‬‫ا‬‫لتنفي‬ ‫ااااالزم‬‫ا‬‫ال‬ ‫اااات‬‫ا‬‫الوق‬ ‫ااااه‬‫ا‬‫بأن‬
(
‫الخوارزمية‬
)
‫المدخالت‬ ‫بعدد‬ ‫مقارنة‬
(
‫المصفوفة‬ ‫عناصر‬ ‫عدد‬ ‫مثال‬
.)

‫يعرف‬ ‫و‬
Space complexity
‫البرنا‬ ‫لتنفياذ‬ ‫الالزماة‬ ‫التخزي‬ ‫مساحة‬ ‫بأنها‬
‫ام‬
‫المدخالت‬ ‫بعدد‬ ‫مقارنة‬
.

‫بالمدخالت‬ ‫مرتبطـة‬ ‫أنها‬ ‫طالما‬ ‫و‬
,
‫ت‬ ‫الخوارزمياـة‬ ‫تعقياد‬ ‫درجاة‬ َّ ‫أ‬ ‫فستجد‬
‫بماا‬ ‫قاا‬
‫بـ‬ ‫يعرف‬
O(n)
‫أو‬
Big o notation
َّ ‫بأ‬ ‫علما‬
n
‫مارات‬ ‫عادد‬ ‫بهاا‬ ‫يقصاد‬ ‫هناا‬
‫التخزي‬ ‫أو‬ ‫المعالجة‬
,
‫قيمة‬ ‫قلة‬ ‫كلما‬ ‫و‬
n
‫ما‬ ‫أفضال‬ ‫الخوارزمياـة‬ ‫هاذه‬ ‫كانات‬ ‫كلماا‬
‫التخزي‬ ‫و‬ ‫الوقت‬ ‫حيث‬
.
n
log n
exp (n)
‫ادتهاتبعن‬ ‫تب‬ ‫تذدت‬ ‫لتد‬ ‫ت‬ ‫دص‬ ‫لع‬ ‫تفلت‬ ‫لفأهص‬ ‫ت‬ ‫هي‬
‫اذدات‬
‫شبذبةتفدلت‬
‫د‬ ‫فتخ‬
‫اادصات‬ ‫ل‬ ‫ت‬ ‫دص‬
‫ص‬
‫د‬ ‫ف‬
‫ددن‬‫د‬‫ل‬
,
‫دد‬‫د‬ ‫ددبصلت‬‫د‬‫تذعتف‬ ‫دد‬‫د‬‫ه‬ ‫ددبتتجع‬‫د‬‫دداتق‬‫د‬‫أللتنتذجته‬
‫ى‬ ‫خ‬ ‫زفذـاتبصلت‬ ‫خص‬
Array List
18
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬

‫اادارها‬‫ا‬‫إص‬ ‫ااي‬‫ا‬‫ف‬ ‫ااـة‬‫ا‬‫المصفوف‬ ‫ااا‬‫ا‬‫م‬ ‫ااا‬‫ا‬‫تعاملن‬ ‫ااالل‬‫ا‬‫خ‬ ‫اات‬‫ا‬‫انتبه‬ ‫اام‬‫ا‬‫أن‬ ‫اام‬‫ا‬‫الش‬
‫الب‬ ‫عمال‬ ‫خالل‬ ‫زيادته‬ ‫يمك‬ ‫ال‬ ‫و‬ ‫ثابت‬ ‫حجمها‬ َّ ‫أ‬ ‫التقليدي‬
‫رناام‬
,
‫و‬
‫البرام‬ ‫م‬ ‫لكثير‬ ‫مناسبة‬ ‫غير‬ ‫جعلها‬ ‫األمر‬ ‫هذا‬
.

‫يعارف‬ ‫ماا‬ ‫اساتخدام‬ ‫المشاكلة‬ ‫لهاذه‬ ‫الحلاول‬ ‫م‬
Dynamic Data
Structure
‫اام‬ ‫الن‬ ‫اذ‬‫ا‬‫تنفي‬ ‫خاالل‬ ‫زيادتاه‬ ‫ا‬‫ا‬‫يمك‬ ‫الحجام‬ ‫حياث‬
,
‫ا‬‫ا‬‫م‬ ‫و‬
‫التراكيب‬ ‫هذه‬
:
 Stack
 Queue
 Array List
‫الـ‬ ‫مفهوم‬
ArrayList
19
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬

‫الـ‬ ‫تعتمد‬ ‫و‬
ArrayList
‫قدره‬ ‫مبدئي‬ ‫حجم‬ ‫على‬
4
‫عناصار‬
,
‫بمجارد‬
‫إضاافة‬ ‫تلقاائي‬ ‫يتم‬ ‫له‬ ‫الوصول‬
4
‫هكاذا‬ ‫و‬ ‫جديادة‬ ‫عناصار‬
,
‫بالتاالي‬ ‫و‬
‫الحجم‬ ‫انتهاء‬ ‫لخطأ‬ ‫وجود‬ ‫فال‬
,
(
‫الخا‬ ‫ما‬ ‫أكبر‬ ‫عدد‬ ‫طلب‬ ‫يمكننا‬
‫ناات‬
‫العمل‬ ‫بداية‬ ‫م‬
.)

‫اـ‬‫ا‬‫ال‬ ‫تعتبار‬
ArrayList
‫اي‬‫ا‬‫ف‬ ‫اـا‬‫ا‬‫سلف‬ ‫اـة‬‫ا‬‫المبني‬ ‫اات‬‫ا‬‫البيان‬ ‫اب‬‫ا‬‫تراكي‬ ‫ا‬‫ا‬‫م‬
‫اة‬‫ا‬‫لغ‬
‫اارب‬‫ا‬‫ش‬ ‫اي‬‫ا‬‫س‬
,
‫المك‬ ‫امي‬‫ا‬‫لتض‬ ‫ااج‬‫ا‬‫نحت‬ ‫اا‬‫ا‬‫معه‬ ‫ال‬‫ا‬‫التعام‬ ‫اا‬‫ا‬‫يمكنن‬ ‫اي‬‫ا‬‫لك‬ ‫و‬
‫اـة‬‫ا‬‫تب‬
Collections
using System.Collections;
‫الـ‬ ‫مفهوم‬
ArrayList
20
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬

‫اسمها‬ ‫مصفوفة‬ ‫تعريف‬ ‫يتم‬ ‫و‬
names
‫يلي‬ ‫كما‬ ‫النوع‬ ‫هذا‬ ‫م‬
:
ArrayList names = new ArrayList();

‫الـ‬ ‫تعريف‬ ‫في‬ ‫تالح‬ ‫كما‬
ArrayList
‫العناصر‬ ‫عدد‬ ‫نحدد‬ ‫لم‬
,
‫لم‬ ‫و‬
‫اتخدم‬‫ا‬‫نس‬
[ ]
‫الفا‬‫ا‬‫س‬ ‫ارف‬‫ا‬‫مع‬ ‫انف‬‫ا‬‫ص‬ ‫ار‬‫ا‬‫يعتب‬ ‫اه‬‫ا‬‫ألن‬ ‫ام‬‫ا‬‫ذل‬ ‫و‬
Predefined
class

‫تشا‬ ‫كأنام‬ ‫ياتم‬ ‫الناوع‬ ‫هذا‬ ‫م‬ ‫مصفوفة‬ ‫أي‬ ‫فتعريف‬ ‫بالتالي‬ ‫و‬
‫كاائ‬ ‫تق‬
‫صنف‬ ‫م‬
.
‫الـ‬ ‫مفهوم‬
ArrayList
21
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬

‫صنف‬ ‫يمتلم‬ ‫و‬
ArrayList
‫ما‬ ‫يمكنام‬ ‫التاي‬ ‫الادوال‬ ‫ما‬ ‫مجموعاة‬
‫المصفوفة‬ ‫عناصر‬ ‫ما‬ ‫التعامل‬ ‫خاللها‬
,
‫ي‬ ‫فيما‬ ‫موضح‬ ‫بعضها‬
‫لي‬
.
‫لات‬ ‫لب‬
‫ذأتها‬ ‫ص‬
Add()
‫م‬
‫نهايتها‬ ‫في‬ ‫للمصفوفة‬ ‫عناصر‬ ‫إضافة‬ ‫يتم‬ ‫خاللها‬
.
AddRange()
‫يتم‬
‫النوع‬ ‫م‬ ‫أخرا‬ ‫لمصفوفـة‬ ‫مصفوفة‬ ‫إضافة‬ ‫خاللها‬ ‫م‬
ArrayList
‫تضاف‬ ‫و‬
‫لها‬ ‫المضاف‬ ‫المصفوفة‬ ‫نهاية‬ ‫في‬ ‫العناصر‬
.
Clear()
‫العناصر‬ ‫كافة‬ ‫بحذف‬ ‫تسمح‬
‫المصفوفة‬ ‫داخل‬ ‫الموجودة‬
Contains()
‫عدمه‬ ‫م‬ ‫المصفوفة‬ ‫في‬ ‫عنصر‬ ‫وجود‬ ‫لفحص‬ ‫تستخدم‬ ‫دالة‬
‫و‬
‫بالتالي‬ ‫هي‬
‫ت‬
‫القيمة‬ ‫عيد‬
‫الشرطيـة‬
(
T, F
)
CopyTo()
‫نسخ‬ ‫م‬ ‫تمكنم‬ ‫دالة‬
‫مصفوفة‬ ‫عناصر‬ ‫م‬ ‫عدد‬
ArrayList
‫أخرا‬ ‫مصفوفة‬ ‫إلى‬
Insert()
‫تسمح‬
‫لم‬
‫موضا‬ ‫في‬ ‫ما‬ ‫عنصر‬ ‫بإدراج‬
‫المصفوفة‬ ‫داخل‬ ‫محدد‬
‫و‬
‫شرطــ‬ ‫لي‬
‫في‬ ‫ا‬
‫نهايتها‬
‫نكت‬ ‫إلنت‬ ‫ت‬ ‫ب‬ ‫ثت‬ ‫لب‬ ‫فاتخبفاتخبفات‬
,
‫تفنها‬ ‫تك‬ ‫تفعتفأهص‬ ‫لبص‬ ‫لتفزذبتفلت‬ ‫ثت‬ ‫ب‬
How to use Array List?
22
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
1. static void Main(string[] args)
2. {
3. ArrayList names = new ArrayList();
4. int po1 = names.Add("Ali");
5. int po2 = names.Add("hussam");
6. int po3 = names.Add("hassan");
7. int po4 = names.Add("Alaa");
8. int po5 = names.Add("wael");
9. Console.WriteLine();
10. Console.WriteLine(" Position of PO1: " + po1 +
11. " Position of PO2: " + po2 + " Position of PO5: " + po5);
12. Console.WriteLine(" number of names in the ArrayList: " +
names.Count);
13. Console.ReadLine();
14. }
Instance variable in
Array List to return
the number of items
in.
How to use Array List?
23
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
1. static void Main(string[] args)
2. {
3. ArrayList list1 = new ArrayList();
4. list1.Add(40);
5. list1.Add(50);
6. list1.Add(60);
7. list1.Add(70);
8. ArrayList list2 = new ArrayList();
9. list2.Add(80);
10. list2.Add(90);
11. list1.AddRange(list2);
12. Console.WriteLine(" === The elements of list1 are ===");
13. foreach (object x in list1)
14. Console.WriteLine(" "+x);
15. Console.ReadLine();
16. }
How to use Array List?
24
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
1. static void Main(string[] args)
2. {
3. ArrayList list1 = new ArrayList();
4. list1.Add(40);
5. list1.Add(50);
6. list1.Add(60);
7. list1.Add(70);
8. ArrayList list2 = new ArrayList();
9. list2 = list1.GetRange(0, 3);
10. Console.WriteLine();
11. foreach (object x in list2)
12. Console.WriteLine(" "+x);
13. Console.ReadLine();
14. }
How to use Array List?
25
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
1. static void Main(string[] args)
2. {
3. ArrayList list1 = new ArrayList();
4. list1.Add(40);
5. list1.Add(30);
6. list1.Add(10);
7. list1.Add(100);
8. list1.Sort();
9. Console.WriteLine();
10. foreach (object x in list1)
11. Console.WriteLine(" " + x);
12. Console.ReadLine();
13. }
Thank you …
26
‫البيانات‬ ‫تراكيب‬ ‫مساق‬
‫إعداد‬ ‫العلمية‬ ‫المادة‬
/
‫أ‬
.
‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
Remember that: question is the key of knowledge
Ahl Eljanna 
ِ
‫د‬ْ‫ل‬ُْ
‫اْل‬ ُ‫ة‬َّ‫ن‬َ
‫ج‬ ْ
‫َم‬‫أ‬ ٌ
‫ر‬ْ‫ي‬َ
‫خ‬ َ
‫ك‬ِ‫ل‬َ‫ذ‬َ‫أ‬ ْ
‫ل‬ُ‫ق‬
َ
‫ن‬‫و‬ُ
‫ق‬َّ‫ت‬ُ
‫ْم‬‫ل‬‫ا‬ َ
‫د‬ِ
‫ع‬ُ
‫و‬ ِ
‫ِت‬َّ‫ل‬‫ا‬
ْ
‫م‬َُ
‫َل‬ ْ
‫ت‬َ‫ن‬‫ا‬َ
‫ك‬
‫ا‬ً
‫ري‬ِ
‫ص‬َ
‫م‬َ
‫و‬ ً‫اء‬َ
‫ز‬َ
‫ج‬
)::(
َ
‫ش‬َ‫ي‬ ‫ا‬َ
‫م‬ ‫ا‬َ
‫يه‬ِ‫ف‬ ْ
‫م‬َُ
‫َل‬
َ
‫ع‬ َ
‫ن‬‫ا‬َ
‫ك‬ َ
‫ين‬ِ
‫د‬ِ‫ال‬َ
‫خ‬ َ
‫ن‬‫و‬ُ‫اء‬
‫ى‬َ‫ل‬
ً‫ال‬‫و‬ُ‫ئ‬ْ
‫س‬َ
‫م‬ ‫ا‬ً
‫د‬ْ‫ع‬َ
‫و‬ َ
‫ك‬ِِّ‫ب‬َ
‫ر‬
27
‫ق‬ ‫سورة‬

Más contenido relacionado

Más de Mahmoud Alfarra

Computer Programming, Loops using Java - part 2
Computer Programming, Loops using Java - part 2Computer Programming, Loops using Java - part 2
Computer Programming, Loops using Java - part 2Mahmoud Alfarra
 
Computer Programming, Loops using Java
Computer Programming, Loops using JavaComputer Programming, Loops using Java
Computer Programming, Loops using JavaMahmoud Alfarra
 
Chapter 10: hashing data structure
Chapter 10:  hashing data structureChapter 10:  hashing data structure
Chapter 10: hashing data structureMahmoud Alfarra
 
Chapter9 graph data structure
Chapter9  graph data structureChapter9  graph data structure
Chapter9 graph data structureMahmoud Alfarra
 
Chapter 8: tree data structure
Chapter 8:  tree data structureChapter 8:  tree data structure
Chapter 8: tree data structureMahmoud Alfarra
 
Chapter 7: Queue data structure
Chapter 7:  Queue data structureChapter 7:  Queue data structure
Chapter 7: Queue data structureMahmoud Alfarra
 
Chapter 6: stack data structure
Chapter 6:  stack data structureChapter 6:  stack data structure
Chapter 6: stack data structureMahmoud Alfarra
 
Chapter 5: linked list data structure
Chapter 5: linked list data structureChapter 5: linked list data structure
Chapter 5: linked list data structureMahmoud Alfarra
 
Chapter 4: basic search algorithms data structure
Chapter 4: basic search algorithms data structureChapter 4: basic search algorithms data structure
Chapter 4: basic search algorithms data structureMahmoud Alfarra
 
Chapter 3: basic sorting algorithms data structure
Chapter 3: basic sorting algorithms data structureChapter 3: basic sorting algorithms data structure
Chapter 3: basic sorting algorithms data structureMahmoud Alfarra
 
Chapter1 intro toprincipleofc#_datastructure_b_cs
Chapter1  intro toprincipleofc#_datastructure_b_csChapter1  intro toprincipleofc#_datastructure_b_cs
Chapter1 intro toprincipleofc#_datastructure_b_csMahmoud Alfarra
 
Chapter 0: introduction to data structure
Chapter 0: introduction to data structureChapter 0: introduction to data structure
Chapter 0: introduction to data structureMahmoud Alfarra
 
8 programming-using-java decision-making practices 20102011
8 programming-using-java decision-making practices 201020118 programming-using-java decision-making practices 20102011
8 programming-using-java decision-making practices 20102011Mahmoud Alfarra
 
7 programming-using-java decision-making220102011
7 programming-using-java decision-making2201020117 programming-using-java decision-making220102011
7 programming-using-java decision-making220102011Mahmoud Alfarra
 
6 programming-using-java decision-making20102011-
6 programming-using-java decision-making20102011-6 programming-using-java decision-making20102011-
6 programming-using-java decision-making20102011-Mahmoud Alfarra
 
5 programming-using-java intro-tooop20102011
5 programming-using-java intro-tooop201020115 programming-using-java intro-tooop20102011
5 programming-using-java intro-tooop20102011Mahmoud Alfarra
 
4 programming-using-java intro-tojava20102011
4 programming-using-java intro-tojava201020114 programming-using-java intro-tojava20102011
4 programming-using-java intro-tojava20102011Mahmoud Alfarra
 
3 programming-using-java introduction-to computer
3 programming-using-java introduction-to computer3 programming-using-java introduction-to computer
3 programming-using-java introduction-to computerMahmoud Alfarra
 
2 programming-using-java how to built application
2 programming-using-java how to built application2 programming-using-java how to built application
2 programming-using-java how to built applicationMahmoud Alfarra
 

Más de Mahmoud Alfarra (20)

Computer Programming, Loops using Java - part 2
Computer Programming, Loops using Java - part 2Computer Programming, Loops using Java - part 2
Computer Programming, Loops using Java - part 2
 
Computer Programming, Loops using Java
Computer Programming, Loops using JavaComputer Programming, Loops using Java
Computer Programming, Loops using Java
 
Chapter 10: hashing data structure
Chapter 10:  hashing data structureChapter 10:  hashing data structure
Chapter 10: hashing data structure
 
Chapter9 graph data structure
Chapter9  graph data structureChapter9  graph data structure
Chapter9 graph data structure
 
Chapter 8: tree data structure
Chapter 8:  tree data structureChapter 8:  tree data structure
Chapter 8: tree data structure
 
Chapter 7: Queue data structure
Chapter 7:  Queue data structureChapter 7:  Queue data structure
Chapter 7: Queue data structure
 
Chapter 6: stack data structure
Chapter 6:  stack data structureChapter 6:  stack data structure
Chapter 6: stack data structure
 
Chapter 5: linked list data structure
Chapter 5: linked list data structureChapter 5: linked list data structure
Chapter 5: linked list data structure
 
Chapter 4: basic search algorithms data structure
Chapter 4: basic search algorithms data structureChapter 4: basic search algorithms data structure
Chapter 4: basic search algorithms data structure
 
Chapter 3: basic sorting algorithms data structure
Chapter 3: basic sorting algorithms data structureChapter 3: basic sorting algorithms data structure
Chapter 3: basic sorting algorithms data structure
 
Chapter1 intro toprincipleofc#_datastructure_b_cs
Chapter1  intro toprincipleofc#_datastructure_b_csChapter1  intro toprincipleofc#_datastructure_b_cs
Chapter1 intro toprincipleofc#_datastructure_b_cs
 
Chapter 0: introduction to data structure
Chapter 0: introduction to data structureChapter 0: introduction to data structure
Chapter 0: introduction to data structure
 
3 classification
3  classification3  classification
3 classification
 
8 programming-using-java decision-making practices 20102011
8 programming-using-java decision-making practices 201020118 programming-using-java decision-making practices 20102011
8 programming-using-java decision-making practices 20102011
 
7 programming-using-java decision-making220102011
7 programming-using-java decision-making2201020117 programming-using-java decision-making220102011
7 programming-using-java decision-making220102011
 
6 programming-using-java decision-making20102011-
6 programming-using-java decision-making20102011-6 programming-using-java decision-making20102011-
6 programming-using-java decision-making20102011-
 
5 programming-using-java intro-tooop20102011
5 programming-using-java intro-tooop201020115 programming-using-java intro-tooop20102011
5 programming-using-java intro-tooop20102011
 
4 programming-using-java intro-tojava20102011
4 programming-using-java intro-tojava201020114 programming-using-java intro-tojava20102011
4 programming-using-java intro-tojava20102011
 
3 programming-using-java introduction-to computer
3 programming-using-java introduction-to computer3 programming-using-java introduction-to computer
3 programming-using-java introduction-to computer
 
2 programming-using-java how to built application
2 programming-using-java how to built application2 programming-using-java how to built application
2 programming-using-java how to built application
 

Último

64617773-قلق-الامتحان.ppt قلق الامتحاااااان
64617773-قلق-الامتحان.ppt قلق الامتحاااااان64617773-قلق-الامتحان.ppt قلق الامتحاااااان
64617773-قلق-الامتحان.ppt قلق الامتحاااااانihseneberradjel
 
الاستعداد للامتحانات.pptx عرض حولك كيفية
الاستعداد للامتحانات.pptx عرض حولك كيفيةالاستعداد للامتحانات.pptx عرض حولك كيفية
الاستعداد للامتحانات.pptx عرض حولك كيفيةNawalDahmani
 
الشوق إلى حجّ بيت الله الحرام (فضائل الحج)
الشوق إلى حجّ بيت الله الحرام (فضائل الحج)الشوق إلى حجّ بيت الله الحرام (فضائل الحج)
الشوق إلى حجّ بيت الله الحرام (فضائل الحج)Arabic Dawateislami
 
الكامل في أسانيد وتصحيح حديث الدنيا سجن المؤمن وجنة الكافر من ( 15 ) طريقا عن...
الكامل في أسانيد وتصحيح حديث الدنيا سجن المؤمن وجنة الكافر من ( 15 ) طريقا عن...الكامل في أسانيد وتصحيح حديث الدنيا سجن المؤمن وجنة الكافر من ( 15 ) طريقا عن...
الكامل في أسانيد وتصحيح حديث الدنيا سجن المؤمن وجنة الكافر من ( 15 ) طريقا عن...MaymonSalim
 
الأركان التربوية بأقسام التعليم الأولي و الابتدائي.ppt
الأركان التربوية بأقسام التعليم الأولي و الابتدائي.pptالأركان التربوية بأقسام التعليم الأولي و الابتدائي.ppt
الأركان التربوية بأقسام التعليم الأولي و الابتدائي.pptAliOtherman
 
دمشق تاريخ معطر بالياسمين - ماهر أسعد بكر
دمشق تاريخ معطر بالياسمين - ماهر أسعد بكردمشق تاريخ معطر بالياسمين - ماهر أسعد بكر
دمشق تاريخ معطر بالياسمين - ماهر أسعد بكرMaher Asaad Baker
 
واستعمال الموارد الرقمية في التعليم .ppt
واستعمال الموارد الرقمية في التعليم .pptواستعمال الموارد الرقمية في التعليم .ppt
واستعمال الموارد الرقمية في التعليم .pptfido19
 
الصف الثاني الاعدادي - العلوم -الموجات.pdf
الصف الثاني الاعدادي - العلوم -الموجات.pdfالصف الثاني الاعدادي - العلوم -الموجات.pdf
الصف الثاني الاعدادي - العلوم -الموجات.pdfv2mt8mtspw
 
تێکچوونا خەموکییا مەزن ژخەموکی چیە و خەموکی چەوا پەیدا دبیت ، چارەسەریا خەموک...
تێکچوونا خەموکییا مەزن ژخەموکی چیە و خەموکی چەوا پەیدا دبیت ، چارەسەریا خەموک...تێکچوونا خەموکییا مەزن ژخەموکی چیە و خەموکی چەوا پەیدا دبیت ، چارەسەریا خەموک...
تێکچوونا خەموکییا مەزن ژخەموکی چیە و خەموکی چەوا پەیدا دبیت ، چارەسەریا خەموک...Idrees.Hishyar
 
الدرس-المحاصيل الزراعية في وطننا العربي. مرفت روماني يوسف شاكر شعبة ...
  الدرس-المحاصيل الزراعية في وطننا العربي.   مرفت روماني يوسف شاكر      شعبة ...  الدرس-المحاصيل الزراعية في وطننا العربي.   مرفت روماني يوسف شاكر      شعبة ...
الدرس-المحاصيل الزراعية في وطننا العربي. مرفت روماني يوسف شاكر شعبة ...mervatromany12
 

Último (10)

64617773-قلق-الامتحان.ppt قلق الامتحاااااان
64617773-قلق-الامتحان.ppt قلق الامتحاااااان64617773-قلق-الامتحان.ppt قلق الامتحاااااان
64617773-قلق-الامتحان.ppt قلق الامتحاااااان
 
الاستعداد للامتحانات.pptx عرض حولك كيفية
الاستعداد للامتحانات.pptx عرض حولك كيفيةالاستعداد للامتحانات.pptx عرض حولك كيفية
الاستعداد للامتحانات.pptx عرض حولك كيفية
 
الشوق إلى حجّ بيت الله الحرام (فضائل الحج)
الشوق إلى حجّ بيت الله الحرام (فضائل الحج)الشوق إلى حجّ بيت الله الحرام (فضائل الحج)
الشوق إلى حجّ بيت الله الحرام (فضائل الحج)
 
الكامل في أسانيد وتصحيح حديث الدنيا سجن المؤمن وجنة الكافر من ( 15 ) طريقا عن...
الكامل في أسانيد وتصحيح حديث الدنيا سجن المؤمن وجنة الكافر من ( 15 ) طريقا عن...الكامل في أسانيد وتصحيح حديث الدنيا سجن المؤمن وجنة الكافر من ( 15 ) طريقا عن...
الكامل في أسانيد وتصحيح حديث الدنيا سجن المؤمن وجنة الكافر من ( 15 ) طريقا عن...
 
الأركان التربوية بأقسام التعليم الأولي و الابتدائي.ppt
الأركان التربوية بأقسام التعليم الأولي و الابتدائي.pptالأركان التربوية بأقسام التعليم الأولي و الابتدائي.ppt
الأركان التربوية بأقسام التعليم الأولي و الابتدائي.ppt
 
دمشق تاريخ معطر بالياسمين - ماهر أسعد بكر
دمشق تاريخ معطر بالياسمين - ماهر أسعد بكردمشق تاريخ معطر بالياسمين - ماهر أسعد بكر
دمشق تاريخ معطر بالياسمين - ماهر أسعد بكر
 
واستعمال الموارد الرقمية في التعليم .ppt
واستعمال الموارد الرقمية في التعليم .pptواستعمال الموارد الرقمية في التعليم .ppt
واستعمال الموارد الرقمية في التعليم .ppt
 
الصف الثاني الاعدادي - العلوم -الموجات.pdf
الصف الثاني الاعدادي - العلوم -الموجات.pdfالصف الثاني الاعدادي - العلوم -الموجات.pdf
الصف الثاني الاعدادي - العلوم -الموجات.pdf
 
تێکچوونا خەموکییا مەزن ژخەموکی چیە و خەموکی چەوا پەیدا دبیت ، چارەسەریا خەموک...
تێکچوونا خەموکییا مەزن ژخەموکی چیە و خەموکی چەوا پەیدا دبیت ، چارەسەریا خەموک...تێکچوونا خەموکییا مەزن ژخەموکی چیە و خەموکی چەوا پەیدا دبیت ، چارەسەریا خەموک...
تێکچوونا خەموکییا مەزن ژخەموکی چیە و خەموکی چەوا پەیدا دبیت ، چارەسەریا خەموک...
 
الدرس-المحاصيل الزراعية في وطننا العربي. مرفت روماني يوسف شاكر شعبة ...
  الدرس-المحاصيل الزراعية في وطننا العربي.   مرفت روماني يوسف شاكر      شعبة ...  الدرس-المحاصيل الزراعية في وطننا العربي.   مرفت روماني يوسف شاكر      شعبة ...
الدرس-المحاصيل الزراعية في وطننا العربي. مرفت روماني يوسف شاكر شعبة ...
 

Chapter 2: array and array list data structure

  • 1. DATA STRUCTURE Chapter 2: Array & Array List Prepared & Presented by Mr. Mahmoud R. Alfarra 2011-2012 College of Science & Technology Dep. Of Computer Science & IT BCs of Information Technology http://mfarra.cst.ps
  • 2. Out Line  Print the elements of Arrays  Storing data in Arrays  Swap two elements in array.  How to delete an element from array?  How to insert a new element in array  The concept of complexity  What is Array List? How to use? 2 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
  • 3. Array data structure 3 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
  • 4. Array data structure 4 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬
  • 5. Print the elements of 1-D Arrays 5 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬ 1. static void Main(string[] args) 2. { 3. string[] names = { "Ali", "Mahmoud", "Hussam", "Ala" }; 4. for (int i = 0; i < names.Length; i++) 5. Console.WriteLine("The next name is "+names[i]); 6. Console.Read(); 7. }
  • 6. Print the elements of 2-D Arrays 6 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬ 1. static void Main(string[] args) 2. { 3. string[,] names = { {"Ali", "Mahmoud"}, {"Hussam", "Ala"} }; 4. for (int i = 0; i < names.GetLength(0); i++) 5. Console.WriteLine("The next name is " + names[i,0]+" “ + names[i,1]); 6. Console.Read(); 7. }
  • 7. Storing data in 1-D Arrays 7 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬ 1. static void Main(string[] args) 2. { 3. int[] id = new int[5]; 4. for (int i = 0; i < 5; i++) 5. id[i] =int.Parse(Console.ReadLine()); 6. Console.WriteLine("==== The numbers in Array are ====="); 7. for (int i = 0; i < 5; i++) 8. Console.WriteLine(" Next Number is " + id[i]); 9. Console.ReadLine(); 10. }
  • 8. Storing data in 2-D Arrays 8 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬ 1. static void Main(string[] args) 2. { 3. string[,] names = new string[2, 3]; 4. for (int i = 0; i < 2; i++) 5. for (int j = 0; j < 3; j++) 6. names[i, j] = Console.ReadLine(); 7. for (int i = 0; i < 2; i++) 8. { 9. for (int j = 0; j < 3; j++) 10. Console.Write(names[i, j]); 11. Console.WriteLine(); 12. } 13. Console.Read(); 14. }
  • 9. Swap two elements in 1-D array 9 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬ 1. static void Main(string[] args) 2. { 3. int[] numbers = { 3, 5, 7, 23, 56, 12 }; 4. int x; 5. x = numbers[0]; 6. numbers[0] = numbers[1]; 7. numbers[1] = x; 8. Console.WriteLine(" "); 9. Console.WriteLine(" The elements of array after swap"); 10. for (int i = 0; i < numbers.Length; i++) 11. Console.WriteLine(" "+numbers[i]); 12. Console.Read(); 13. } Try to implement the above example with 2-D array
  • 10. How to delete an element from array? 10 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬ 2 7 80 88 90 99 9 12 15 23 30 45 70 77 1 2 3 4 5 6 7 8 9 10 11 12 13 array 0 15 14 To delete the 5’th cell 2 7 80 88 90 99 9 12 15 23 30 45 15 77 1 2 3 4 5 6 7 8 9 10 11 12 13 array 0 14 1 2 3 4 5 6 7 8 9 9 array 0 2 7 80 88 90 99 9 12 23 30 45 15 77 1 2 3 4 5 6 7 8 9 10 11 12 13 99 14 Null
  • 11. How to delete an element from array? 11 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬ 1. static void Main(string[] args) 2. { 3. int[] id = { 10, 12, 11, 45 }; 4. // to delete the value 12 5. int i; 6. for ( i = 0; i < id.Length-1; i++) 7. { 8. if (id[i] == 12) 9. { 10. break; 11. } } 12. for (int j =i ; j < id.Length-1; j++) 13. id[j] = id[j + 1]; 14. for (int k = 0; k < id.Length; k++) 15. Console.WriteLine(" "+id[k]); 16. Console.Read(); }
  • 12. How to delete an element from array? 12 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬ 1. static void Main(string[] args) 2. { 3. int[] id = { 10, 12, 11, 45 }; 4. // to delete the value of index 2 5. for (int i =2 ; i < id.Length-1; i++) 6. id[i] = id[i + 1]; 7. for (int k = 0; k < id.Length; k++) 8. Console.WriteLine(" "+id[k]); 9. Console.Read(); 10. }
  • 13. How to insert a new element in array? 13 2 7 80 88 90 99 9 12 15 23 30 45 70 77 1 2 3 4 5 6 7 8 9 10 11 12 13 array 0 13 14 To insert value 2 7 80 88 90 99 9 12 15 23 30 45 70 77 1 2 3 4 5 6 7 8 9 10 11 12 13 array 0 14 13 ‫تصاعدي‬ ‫بشكل‬ ‫القيمة‬ ‫حسب‬ ‫العناصر‬ ‫مرتبـة‬ ‫مصفوفة‬ ‫في‬ ‫عنصر‬ ‫إضافة‬ ‫طريقة‬ ‫يوضح‬ ‫العلوي‬ ‫الشكل‬
  • 14. How to insert a new element in array? 14 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬ 1. static void Main(string[] args) 2. { 3. int[] salary = new int [6]; 4. salary[0] = 1200; 5. salary[1] = 2000; 6. salary[2] = 1000; 7. salary[3] = 3210; 8. salary[4] = 4310; 9. // to add value 3000 in the position 3 10. for (int i = salary.Length - 1; i > 3; i--) 11. salary[i] = salary[i - 1]; 12. salary[3] = 3000; 13. Console.WriteLine(" === Values of Array after inserting === "); 14. for (int j = 0; j < salary.Length; j++) 15. Console.WriteLine(" Value: "+salary[j]); 16. Console.Read(); 17. }
  • 15. How to insert a new element in array? 15 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬ 1. static void Main(string[] args) { 2. int[] salary = new int[6]; 3. salary[0] = 100; 4. salary[1] = 200; 5. salary[2] = 300; 6. salary[3] = 1210; 7. salary[4] = 2310; 8. // To add value 250 9. int i; 10. for (i = 0; i < salary.Length; i++) 11. if (salary[i] > 250) 12. break; 13. for (int j = salary.Length - 1; j > i; j--) 14. salary[j] = salary[j - 1]; 15. salary[i] = 250; 16. Console.WriteLine(" "); 17. Console.WriteLine(" === Values of Array after inserting === "); 18. for (int j = 0; j < salary.Length; j++) 19. Console.WriteLine(" Value: " + salary[j]); 20. Console.Read(); } ‫ت‬ ‫تددد‬ ‫ذاتي‬ ‫تدددب‬ : ‫ت‬ ‫قددد‬ ‫ت‬ ‫ددددددددد‬‫د‬ ‫ت‬ ‫دددددددددبذ‬‫د‬‫بالتع‬ ‫ت‬ ‫دددا‬ ‫ت‬ ‫دد‬‫د‬‫ددافيتح‬‫د‬‫ن‬ ‫لب‬ ‫دد‬ ‫نا‬ ‫كانددكتكاحددات‬ ‫ت‬ ‫دددد‬‫د‬ ‫ددددأصحات‬‫د‬ ‫لف‬ ‫بت‬ ‫لفددد‬ ‫لةذفدددات‬ ‫فدددلت‬ ‫إبخالها‬
  • 16. ‫الخوارزميات‬ ‫دراسـة‬ ‫مفهوم‬ 16 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬  ‫ما‬ ‫الخوارزمياات‬ ‫هذه‬ ‫تحتاجه‬ ‫ما‬ ‫دراسـة‬ ‫هو‬ ‫الخوارزميات‬ ‫دراسة‬ ‫بمفهوم‬ ‫يقصد‬ ‫للحل‬ ‫للوصول‬ ‫تخزي‬ ‫مساحة‬ ‫و‬ ‫وقت‬ , ‫باسام‬ ‫العلام‬ ‫هاذا‬ ‫يعرف‬ ‫و‬ Complexity of Algorithms  ‫الوقت‬ ( ‫خطوات‬ ‫عدد‬ ‫على‬ ‫يعتمد‬ )  ‫تخزي‬ ‫مساحة‬ ( ‫ال‬ ‫الذاكرة‬ ‫في‬ ‫لتخزينها‬ ‫نحتاج‬ ‫التي‬ ‫المعلومات‬ ‫عدد‬ ‫على‬ ‫يعتمد‬ ‫عشوائية‬ )  ‫فمثـال‬ : ‫المصافوفة‬ ‫فاي‬ ‫جدياد‬ ‫عنصار‬ ‫تخازي‬ ‫أردناا‬ ‫إذا‬ , ‫ل‬ ‫نحتااج‬ ‫هناا‬ ‫فانح‬ ‫حسااب‬ ‫التخازي‬ ‫لعملياة‬ ‫بااضاافة‬ ‫لتحريكهاا‬ ‫نحتااج‬ ‫التي‬ ‫العناصر‬ ‫عدد‬ , ‫لنحسا‬ ‫و‬ ‫الوقات‬ ‫ب‬ ‫المساحة‬ . n log n exp (n)  ‫الوقاات‬ ‫اد‬‫ا‬‫تعقي‬ ‫ادا‬‫ا‬‫لم‬ ‫عامااة‬ ‫مقااادير‬ ‫اام‬‫ا‬‫هن‬ ‫و‬ ‫المستخدم‬ , ‫المقاب‬ ‫بالشكل‬ ‫موضحة‬ ‫هي‬ ‫و‬ ‫ل‬ .
  • 17. ‫الخوارزميات‬ ‫دراسـة‬ ‫مفهوم‬ 17 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬  ‫اااارف‬‫ا‬‫يع‬ ‫و‬ Time complexity ‫ااااام‬‫ا‬‫البرن‬ ‫ااااذ‬‫ا‬‫لتنفي‬ ‫ااااالزم‬‫ا‬‫ال‬ ‫اااات‬‫ا‬‫الوق‬ ‫ااااه‬‫ا‬‫بأن‬ ( ‫الخوارزمية‬ ) ‫المدخالت‬ ‫بعدد‬ ‫مقارنة‬ ( ‫المصفوفة‬ ‫عناصر‬ ‫عدد‬ ‫مثال‬ .)  ‫يعرف‬ ‫و‬ Space complexity ‫البرنا‬ ‫لتنفياذ‬ ‫الالزماة‬ ‫التخزي‬ ‫مساحة‬ ‫بأنها‬ ‫ام‬ ‫المدخالت‬ ‫بعدد‬ ‫مقارنة‬ .  ‫بالمدخالت‬ ‫مرتبطـة‬ ‫أنها‬ ‫طالما‬ ‫و‬ , ‫ت‬ ‫الخوارزمياـة‬ ‫تعقياد‬ ‫درجاة‬ َّ ‫أ‬ ‫فستجد‬ ‫بماا‬ ‫قاا‬ ‫بـ‬ ‫يعرف‬ O(n) ‫أو‬ Big o notation َّ ‫بأ‬ ‫علما‬ n ‫مارات‬ ‫عادد‬ ‫بهاا‬ ‫يقصاد‬ ‫هناا‬ ‫التخزي‬ ‫أو‬ ‫المعالجة‬ , ‫قيمة‬ ‫قلة‬ ‫كلما‬ ‫و‬ n ‫ما‬ ‫أفضال‬ ‫الخوارزمياـة‬ ‫هاذه‬ ‫كانات‬ ‫كلماا‬ ‫التخزي‬ ‫و‬ ‫الوقت‬ ‫حيث‬ . n log n exp (n) ‫ادتهاتبعن‬ ‫تب‬ ‫تذدت‬ ‫لتد‬ ‫ت‬ ‫دص‬ ‫لع‬ ‫تفلت‬ ‫لفأهص‬ ‫ت‬ ‫هي‬ ‫اذدات‬ ‫شبذبةتفدلت‬ ‫د‬ ‫فتخ‬ ‫اادصات‬ ‫ل‬ ‫ت‬ ‫دص‬ ‫ص‬ ‫د‬ ‫ف‬ ‫ددن‬‫د‬‫ل‬ , ‫دد‬‫د‬ ‫ددبصلت‬‫د‬‫تذعتف‬ ‫دد‬‫د‬‫ه‬ ‫ددبتتجع‬‫د‬‫دداتق‬‫د‬‫أللتنتذجته‬ ‫ى‬ ‫خ‬ ‫زفذـاتبصلت‬ ‫خص‬
  • 18. Array List 18 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬  ‫اادارها‬‫ا‬‫إص‬ ‫ااي‬‫ا‬‫ف‬ ‫ااـة‬‫ا‬‫المصفوف‬ ‫ااا‬‫ا‬‫م‬ ‫ااا‬‫ا‬‫تعاملن‬ ‫ااالل‬‫ا‬‫خ‬ ‫اات‬‫ا‬‫انتبه‬ ‫اام‬‫ا‬‫أن‬ ‫اام‬‫ا‬‫الش‬ ‫الب‬ ‫عمال‬ ‫خالل‬ ‫زيادته‬ ‫يمك‬ ‫ال‬ ‫و‬ ‫ثابت‬ ‫حجمها‬ َّ ‫أ‬ ‫التقليدي‬ ‫رناام‬ , ‫و‬ ‫البرام‬ ‫م‬ ‫لكثير‬ ‫مناسبة‬ ‫غير‬ ‫جعلها‬ ‫األمر‬ ‫هذا‬ .  ‫يعارف‬ ‫ماا‬ ‫اساتخدام‬ ‫المشاكلة‬ ‫لهاذه‬ ‫الحلاول‬ ‫م‬ Dynamic Data Structure ‫اام‬ ‫الن‬ ‫اذ‬‫ا‬‫تنفي‬ ‫خاالل‬ ‫زيادتاه‬ ‫ا‬‫ا‬‫يمك‬ ‫الحجام‬ ‫حياث‬ , ‫ا‬‫ا‬‫م‬ ‫و‬ ‫التراكيب‬ ‫هذه‬ :  Stack  Queue  Array List
  • 19. ‫الـ‬ ‫مفهوم‬ ArrayList 19 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬  ‫الـ‬ ‫تعتمد‬ ‫و‬ ArrayList ‫قدره‬ ‫مبدئي‬ ‫حجم‬ ‫على‬ 4 ‫عناصار‬ , ‫بمجارد‬ ‫إضاافة‬ ‫تلقاائي‬ ‫يتم‬ ‫له‬ ‫الوصول‬ 4 ‫هكاذا‬ ‫و‬ ‫جديادة‬ ‫عناصار‬ , ‫بالتاالي‬ ‫و‬ ‫الحجم‬ ‫انتهاء‬ ‫لخطأ‬ ‫وجود‬ ‫فال‬ , ( ‫الخا‬ ‫ما‬ ‫أكبر‬ ‫عدد‬ ‫طلب‬ ‫يمكننا‬ ‫ناات‬ ‫العمل‬ ‫بداية‬ ‫م‬ .)  ‫اـ‬‫ا‬‫ال‬ ‫تعتبار‬ ArrayList ‫اي‬‫ا‬‫ف‬ ‫اـا‬‫ا‬‫سلف‬ ‫اـة‬‫ا‬‫المبني‬ ‫اات‬‫ا‬‫البيان‬ ‫اب‬‫ا‬‫تراكي‬ ‫ا‬‫ا‬‫م‬ ‫اة‬‫ا‬‫لغ‬ ‫اارب‬‫ا‬‫ش‬ ‫اي‬‫ا‬‫س‬ , ‫المك‬ ‫امي‬‫ا‬‫لتض‬ ‫ااج‬‫ا‬‫نحت‬ ‫اا‬‫ا‬‫معه‬ ‫ال‬‫ا‬‫التعام‬ ‫اا‬‫ا‬‫يمكنن‬ ‫اي‬‫ا‬‫لك‬ ‫و‬ ‫اـة‬‫ا‬‫تب‬ Collections using System.Collections;
  • 20. ‫الـ‬ ‫مفهوم‬ ArrayList 20 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬  ‫اسمها‬ ‫مصفوفة‬ ‫تعريف‬ ‫يتم‬ ‫و‬ names ‫يلي‬ ‫كما‬ ‫النوع‬ ‫هذا‬ ‫م‬ : ArrayList names = new ArrayList();  ‫الـ‬ ‫تعريف‬ ‫في‬ ‫تالح‬ ‫كما‬ ArrayList ‫العناصر‬ ‫عدد‬ ‫نحدد‬ ‫لم‬ , ‫لم‬ ‫و‬ ‫اتخدم‬‫ا‬‫نس‬ [ ] ‫الفا‬‫ا‬‫س‬ ‫ارف‬‫ا‬‫مع‬ ‫انف‬‫ا‬‫ص‬ ‫ار‬‫ا‬‫يعتب‬ ‫اه‬‫ا‬‫ألن‬ ‫ام‬‫ا‬‫ذل‬ ‫و‬ Predefined class  ‫تشا‬ ‫كأنام‬ ‫ياتم‬ ‫الناوع‬ ‫هذا‬ ‫م‬ ‫مصفوفة‬ ‫أي‬ ‫فتعريف‬ ‫بالتالي‬ ‫و‬ ‫كاائ‬ ‫تق‬ ‫صنف‬ ‫م‬ .
  • 21. ‫الـ‬ ‫مفهوم‬ ArrayList 21 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬  ‫صنف‬ ‫يمتلم‬ ‫و‬ ArrayList ‫ما‬ ‫يمكنام‬ ‫التاي‬ ‫الادوال‬ ‫ما‬ ‫مجموعاة‬ ‫المصفوفة‬ ‫عناصر‬ ‫ما‬ ‫التعامل‬ ‫خاللها‬ , ‫ي‬ ‫فيما‬ ‫موضح‬ ‫بعضها‬ ‫لي‬ . ‫لات‬ ‫لب‬ ‫ذأتها‬ ‫ص‬ Add() ‫م‬ ‫نهايتها‬ ‫في‬ ‫للمصفوفة‬ ‫عناصر‬ ‫إضافة‬ ‫يتم‬ ‫خاللها‬ . AddRange() ‫يتم‬ ‫النوع‬ ‫م‬ ‫أخرا‬ ‫لمصفوفـة‬ ‫مصفوفة‬ ‫إضافة‬ ‫خاللها‬ ‫م‬ ArrayList ‫تضاف‬ ‫و‬ ‫لها‬ ‫المضاف‬ ‫المصفوفة‬ ‫نهاية‬ ‫في‬ ‫العناصر‬ . Clear() ‫العناصر‬ ‫كافة‬ ‫بحذف‬ ‫تسمح‬ ‫المصفوفة‬ ‫داخل‬ ‫الموجودة‬ Contains() ‫عدمه‬ ‫م‬ ‫المصفوفة‬ ‫في‬ ‫عنصر‬ ‫وجود‬ ‫لفحص‬ ‫تستخدم‬ ‫دالة‬ ‫و‬ ‫بالتالي‬ ‫هي‬ ‫ت‬ ‫القيمة‬ ‫عيد‬ ‫الشرطيـة‬ ( T, F ) CopyTo() ‫نسخ‬ ‫م‬ ‫تمكنم‬ ‫دالة‬ ‫مصفوفة‬ ‫عناصر‬ ‫م‬ ‫عدد‬ ArrayList ‫أخرا‬ ‫مصفوفة‬ ‫إلى‬ Insert() ‫تسمح‬ ‫لم‬ ‫موضا‬ ‫في‬ ‫ما‬ ‫عنصر‬ ‫بإدراج‬ ‫المصفوفة‬ ‫داخل‬ ‫محدد‬ ‫و‬ ‫شرطــ‬ ‫لي‬ ‫في‬ ‫ا‬ ‫نهايتها‬ ‫نكت‬ ‫إلنت‬ ‫ت‬ ‫ب‬ ‫ثت‬ ‫لب‬ ‫فاتخبفاتخبفات‬ , ‫تفنها‬ ‫تك‬ ‫تفعتفأهص‬ ‫لبص‬ ‫لتفزذبتفلت‬ ‫ثت‬ ‫ب‬
  • 22. How to use Array List? 22 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬ 1. static void Main(string[] args) 2. { 3. ArrayList names = new ArrayList(); 4. int po1 = names.Add("Ali"); 5. int po2 = names.Add("hussam"); 6. int po3 = names.Add("hassan"); 7. int po4 = names.Add("Alaa"); 8. int po5 = names.Add("wael"); 9. Console.WriteLine(); 10. Console.WriteLine(" Position of PO1: " + po1 + 11. " Position of PO2: " + po2 + " Position of PO5: " + po5); 12. Console.WriteLine(" number of names in the ArrayList: " + names.Count); 13. Console.ReadLine(); 14. } Instance variable in Array List to return the number of items in.
  • 23. How to use Array List? 23 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬ 1. static void Main(string[] args) 2. { 3. ArrayList list1 = new ArrayList(); 4. list1.Add(40); 5. list1.Add(50); 6. list1.Add(60); 7. list1.Add(70); 8. ArrayList list2 = new ArrayList(); 9. list2.Add(80); 10. list2.Add(90); 11. list1.AddRange(list2); 12. Console.WriteLine(" === The elements of list1 are ==="); 13. foreach (object x in list1) 14. Console.WriteLine(" "+x); 15. Console.ReadLine(); 16. }
  • 24. How to use Array List? 24 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬ 1. static void Main(string[] args) 2. { 3. ArrayList list1 = new ArrayList(); 4. list1.Add(40); 5. list1.Add(50); 6. list1.Add(60); 7. list1.Add(70); 8. ArrayList list2 = new ArrayList(); 9. list2 = list1.GetRange(0, 3); 10. Console.WriteLine(); 11. foreach (object x in list2) 12. Console.WriteLine(" "+x); 13. Console.ReadLine(); 14. }
  • 25. How to use Array List? 25 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬ 1. static void Main(string[] args) 2. { 3. ArrayList list1 = new ArrayList(); 4. list1.Add(40); 5. list1.Add(30); 6. list1.Add(10); 7. list1.Add(100); 8. list1.Sort(); 9. Console.WriteLine(); 10. foreach (object x in list1) 11. Console.WriteLine(" " + x); 12. Console.ReadLine(); 13. }
  • 26. Thank you … 26 ‫البيانات‬ ‫تراكيب‬ ‫مساق‬ ‫إعداد‬ ‫العلمية‬ ‫المادة‬ / ‫أ‬ . ‫ا‬ َّ‫الفــر‬ ‫رفيق‬ ‫محمود‬ Remember that: question is the key of knowledge
  • 27. Ahl Eljanna  ِ ‫د‬ْ‫ل‬ُْ ‫اْل‬ ُ‫ة‬َّ‫ن‬َ ‫ج‬ ْ ‫َم‬‫أ‬ ٌ ‫ر‬ْ‫ي‬َ ‫خ‬ َ ‫ك‬ِ‫ل‬َ‫ذ‬َ‫أ‬ ْ ‫ل‬ُ‫ق‬ َ ‫ن‬‫و‬ُ ‫ق‬َّ‫ت‬ُ ‫ْم‬‫ل‬‫ا‬ َ ‫د‬ِ ‫ع‬ُ ‫و‬ ِ ‫ِت‬َّ‫ل‬‫ا‬ ْ ‫م‬َُ ‫َل‬ ْ ‫ت‬َ‫ن‬‫ا‬َ ‫ك‬ ‫ا‬ً ‫ري‬ِ ‫ص‬َ ‫م‬َ ‫و‬ ً‫اء‬َ ‫ز‬َ ‫ج‬ )::( َ ‫ش‬َ‫ي‬ ‫ا‬َ ‫م‬ ‫ا‬َ ‫يه‬ِ‫ف‬ ْ ‫م‬َُ ‫َل‬ َ ‫ع‬ َ ‫ن‬‫ا‬َ ‫ك‬ َ ‫ين‬ِ ‫د‬ِ‫ال‬َ ‫خ‬ َ ‫ن‬‫و‬ُ‫اء‬ ‫ى‬َ‫ل‬ ً‫ال‬‫و‬ُ‫ئ‬ْ ‫س‬َ ‫م‬ ‫ا‬ً ‫د‬ْ‫ع‬َ ‫و‬ َ ‫ك‬ِِّ‫ب‬َ ‫ر‬ 27 ‫ق‬ ‫سورة‬