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
‫ق‬ ‫سورة‬

More Related Content

PPT
طوابير
PPTX
Chapter2
PPTX
Chapter 3
PPTX
Chapter 1
PPTX
Chapter 4
PDF
DOCX
مقرر معالجة البيانات
طوابير
Chapter2
Chapter 3
Chapter 1
Chapter 4
مقرر معالجة البيانات

Similar to Chapter 2: array and array list data structure (7)

PDF
Luct7.pdf
PPTX
ARRAYS
PDF
java programming language - Lecture7.pdf
PPTX
Java_Programming_language in Yemen lec2.pptx
DOCX
adivina carta
PDF
Programming 1 full
PDF
Java Generics
Luct7.pdf
ARRAYS
java programming language - Lecture7.pdf
Java_Programming_language in Yemen lec2.pptx
adivina carta
Programming 1 full
Java Generics
Ad

More from Mahmoud Alfarra (20)

PPT
Computer Programming, Loops using Java - part 2
PPT
Computer Programming, Loops using Java
PPT
Chapter 10: hashing data structure
PPT
Chapter9 graph data structure
PPT
Chapter 8: tree data structure
PPT
Chapter 7: Queue data structure
PPT
Chapter 6: stack data structure
PPT
Chapter 5: linked list data structure
PPT
Chapter 4: basic search algorithms data structure
PPT
Chapter 3: basic sorting algorithms data structure
PPT
Chapter1 intro toprincipleofc#_datastructure_b_cs
PPT
Chapter 0: introduction to data structure
PPTX
3 classification
PPT
8 programming-using-java decision-making practices 20102011
PPT
7 programming-using-java decision-making220102011
PPT
6 programming-using-java decision-making20102011-
PPT
5 programming-using-java intro-tooop20102011
PPT
4 programming-using-java intro-tojava20102011
PPT
3 programming-using-java introduction-to computer
PPT
2 programming-using-java how to built application
Computer Programming, Loops using Java - part 2
Computer Programming, Loops using Java
Chapter 10: hashing data structure
Chapter9 graph data structure
Chapter 8: tree data structure
Chapter 7: Queue data structure
Chapter 6: stack data structure
Chapter 5: linked list data structure
Chapter 4: basic search algorithms data structure
Chapter 3: basic sorting algorithms data structure
Chapter1 intro toprincipleofc#_datastructure_b_cs
Chapter 0: introduction to data structure
3 classification
8 programming-using-java decision-making practices 20102011
7 programming-using-java decision-making220102011
6 programming-using-java decision-making20102011-
5 programming-using-java intro-tooop20102011
4 programming-using-java intro-tojava20102011
3 programming-using-java introduction-to computer
2 programming-using-java how to built application
Ad

Recently uploaded (20)

PDF
حقيبة تدريبية دورة الاستثمار في المشاريع السياحية.pdf
PDF
الألماس في نصائح للشماس
PDF
حقيبة تدريبية دورة أتمتة الأعمال باستخدام الذكاء الاصطناعي.pdf
PPTX
وؤزؤوؤورزرزوؤوؤتؤنيوفي المدارس ملف إنجاز معلم.pptx
PDF
حقيبة تدريبية دورة الذكاء الاصطناعي وتحليل البيانات الضخمة (Big Data).pdf
PDF
قضية؟ للمناقشة هل توافق علي إلغاء كليات التربية
PPT
التفكير الإبداعي هو القدرة على توليد أفكار جديدة ومبتكرة، والنظر إلى المشكلات...
PDF
دورة تصميم روبوتات المحادثة (Chatbots)حقيبة تدريبية .pdf
PDF
استراتيجيات مايكروسوفت تيمز كاهوت كويزز.pdf
PDF
خطة دورة الرخصة المهنية للدراسات الإسلامية
PDF
الكامل في أسانيد وتصحيح حديث من ضحك في الصلاة يعيد الوضوء والصلاة من سبعة طرق...
PPTX
math.pptxunit 6 oxford phonics 4unit 6 oxford phonics 4
PPT
اعداد التقاريرعملية جمع وتحليل البيانات وتنظيمها في شكل مكتوب .ppt
PPTX
Hukum Siwak&Dan Wudhu Dalam Kitab Fathul
PDF
Grade Estimated % Score for Arabic first language based on 9-1
PDF
دورة تعلم الآلة (Machine Learning)حقيبة تدريبية للمبتدئين.pdf
PPTX
_______ ______ _ 1 _____________ _______ -___ - _______.pptx
PDF
حقيبة تدريبية دورة مقدمة في الذكاء الاصطناعي وأساسياته.pdf
PDF
الكامل في آيات وأحاديث وصف من لم يؤمن بالله ورسوله بالكافرين والمشركين والظال...
PDF
حقيبة تدريبية دورة الذكاء الاصطناعي في التسويق الرقمي.pdf
حقيبة تدريبية دورة الاستثمار في المشاريع السياحية.pdf
الألماس في نصائح للشماس
حقيبة تدريبية دورة أتمتة الأعمال باستخدام الذكاء الاصطناعي.pdf
وؤزؤوؤورزرزوؤوؤتؤنيوفي المدارس ملف إنجاز معلم.pptx
حقيبة تدريبية دورة الذكاء الاصطناعي وتحليل البيانات الضخمة (Big Data).pdf
قضية؟ للمناقشة هل توافق علي إلغاء كليات التربية
التفكير الإبداعي هو القدرة على توليد أفكار جديدة ومبتكرة، والنظر إلى المشكلات...
دورة تصميم روبوتات المحادثة (Chatbots)حقيبة تدريبية .pdf
استراتيجيات مايكروسوفت تيمز كاهوت كويزز.pdf
خطة دورة الرخصة المهنية للدراسات الإسلامية
الكامل في أسانيد وتصحيح حديث من ضحك في الصلاة يعيد الوضوء والصلاة من سبعة طرق...
math.pptxunit 6 oxford phonics 4unit 6 oxford phonics 4
اعداد التقاريرعملية جمع وتحليل البيانات وتنظيمها في شكل مكتوب .ppt
Hukum Siwak&Dan Wudhu Dalam Kitab Fathul
Grade Estimated % Score for Arabic first language based on 9-1
دورة تعلم الآلة (Machine Learning)حقيبة تدريبية للمبتدئين.pdf
_______ ______ _ 1 _____________ _______ -___ - _______.pptx
حقيبة تدريبية دورة مقدمة في الذكاء الاصطناعي وأساسياته.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 ‫ق‬ ‫سورة‬