❞ كتاب هياكل البيانات بلغة ++C ❝  ⏤ علاء خضير الزيادي

❞ كتاب هياكل البيانات بلغة ++C ❝ ⏤ علاء خضير الزيادي

الكتاب عبارة عن تقرير لمحاظرات احد اساتذة تربية علوم الحاسبات جامعة البصرة
علاء خضير الزيادي - علاء خضير الزيادي ❰ له مجموعة من المؤلفات أبرزها ❞ هياكل البيانات بلغة ++C ❝ ❞ البرمجة الكيانية بلغتي ++C++ - VC ❝ ❞ هندسة البرامجيات الفصل الاول ❝ ❱
من كتب سي بلس بلس كتب لغات البرمجة - مكتبة كتب تقنية المعلومات.


نبذة عن الكتاب:
هياكل البيانات بلغة ++C

2004م - 1444هـ

الكتاب عبارة عن تقرير لمحاظرات احد اساتذة تربية علوم الحاسبات جامعة البصرة . المزيد..

تعليقات القرّاء:

البيانات هياكل
بلغة
C ++
محاضرات الأدتاذ الفاضل
م.م علي عادل الطامري
اعداد الطالب
علاء خضير الزيادي
جامطظ البصرة - التربيظ كليظ
قدم علوم الحادبات
2
الفهرس
3
هيكل البيانات:
البيانات:
المعلومات:
نوع المعالجة:
الهيكل المادي والهيكل المنطقي للبيانات:
هيكل البيانات:
4
مزايا بنية البيانات:
المصفوفات: مصفوفات ذات بعد
واحد:
مثال: 
int A [10]؛
تعويم أ [20] ؛
5
مثال:
أ [4] 
أ = [2 3 4 5] 
أ [0] = 2 ، أ [1] = 3 ، أ [3] = 4 ، أ [4] = 5 
عنوان حقيقي

3
4

Memory
Loc (A [I]) = العنوان الحقيقي + I
Loc (A [3]) = 100 + 3 = 103 = 5
N
# تتضمن
void main ()
{
int n، a [100]، b [100] ؛
cout << "Enter n" <cin >> n ؛
6
int ك = 0 ؛
لـ (int i = 0؛ i {
cout << "Enter Array:" <cin >> a [i]؛}
لـ (i = 0؛ i if ((a [i]> = 10) && (a [i ] <= 99))
{b [k] = a [i]؛
k ++؛}
لـ (int j = 0؛ j cout <cin >> ""؛
}
N
# تتضمن
const int size = 100 ؛
معرّف قراءة باطل (int [] ، int) ؛
مبادلة باطلة (int [] ، int) ؛
عدد باطل (int [] ، int) ؛
void printID (int []، int) ؛
void main ()
{
int n، a [size]، k ؛

readID (أ ، ن) ؛
مبادلة (أ ، ن) ؛
العد (أ ، ن) ؛
}
void readID (int a [size]، int n)
{
for (int i = 0؛ i {
cout << "Enter Array:" <cin >> a [i]؛}
}
مبادلة باطلة (int a [size] ، int n)
{int x؛
7
if (n٪ 2 == 0)
x = n / 2؛
else
x = n / 2 + 1؛
int h = x؛
for (int i = 0؛ i {
int z = a [i]؛
a [i] = a [h]؛
a [h] = z؛
h ++؛}
printID (a، n)؛
}
معرف print باطل (int a [size]، int n)
{
for (int i = 0؛ i cout <}
عدد الفراغات (int a [size]، int n)
{int f = 0؛
for (int i = 0؛ i {
int item = a [i]؛
for (int j = i + 1 ؛ j {
if (item! = a [j])
f ++؛
}
cout <cin >> ""؛
}}
N
# تضمين
حجم int const = 100 ؛
readID باطلة (char []، int) ؛
عملية باطلة (char [] ، int ، char [] ، int &) ؛
void main ()
{
8
char a [size]، b [size]؛
int ن ، ك ؛
cout << "Enter n" <cin >> n ؛
readID (أ ، ن) ؛
عملية (أ ، ن ، ب ، ك) ؛
}
void readID (char a [size]، int n)
{
for (int i = 0؛ i {
cout << "Enter Array:" <cin >> a [i]؛}
}
عملية باطلة (char a [size] ، int n، char b [size]، int & k)
{
k = 0؛
for (int i = 0؛ i {
if ((a [i] == '*') || (a [i] == ' + ') || (a [i] ==' / ') || (a [i] ==' - '
)) {
b [k] = a [i] ؛
ك ++ ؛
}}
(a [i]٪ 4 == 0)) { b [k] = a [i] ؛ ك ++ ؛}






























} cout <cin >> ""؛ } ن

































# تضمين
حجم int = 100 ؛
readID باطلة (int []، int) ؛
مبادلة باطلة (int [] ، int ، int &) ؛
printID باطل (int []، int) ؛
void main ()
{
int n، a [size]، x؛
cout << "Enter n" <cin >> n ؛
readID (أ ، ن) ؛
مبادلة (أ ، ن ، س) ؛
11
printID (أ ، ن) ؛
}
void readID (int a [size]، int n)
{
for (int i = 0؛ i {
cout << "Enter Array:" <cin >> a [i]؛}
}
مبادلة باطلة (int a [size] ، int n، int & x)
{cout << "Enter X" <cin >> x؛
for (int i = 0؛ i {
if (x == a [i])
a [i] = 5؛
}}
فارغ printID (int a [size]، int n)
{
for (int i = 0؛ i cout <cin >> ""؛



حجم const int = 100 ؛
readID باطلة (int []، int) ؛
باطل avpe (int []، int) ؛
void prod (int []، int) ؛
void main ()
{
int n، a [size]؛
cout << "Enter n" <cin >> n ؛
readID (أ ، ن) ؛
avpe (أ ، ن) ؛
12
نمز (أ ، ن) ؛
}
void readID (int a [size]، int n)
{
for (int i = 0؛ i {
cout << "Enter Array:" <cin >> a [i]؛}
}
void avpe (int a [size] ، int n)
{
int i، s = 0، k = 0؛
for (i = 0؛ i {
if ((a [i]> 0) && (a [i]٪ 2 == 0))
{k ++؛
s + = a [i] ؛}
}
float ave = (s / k) ؛
cout <}
void prod (int a [size]، int n)
{int f = 1؛
for (int i = 0؛ if * = a [أنا]؛

}
#include
#include
void main ()
{clrscr ()؛
int i، a [100]، n؛
cout << "أدخل حجم المصفوفة:" <cin >> n؛
لـ (i = 0؛ i {cout << "أدخل العناصر:"؛
cin >> a [i]؛}
لـ (i = n-1؛ i> = 0؛ i--)
cout <13
cin >> ""؛
}
#include
#include
void Read1D (int [])؛
void Print1D (int [])؛
int Search (int []، int)؛
void DeleteFirst (int [])؛
void DeleteLast (int [])؛
باطل DeleteMid (int []) ؛
باطل InsertFirst (int []، int) ؛
باطل InsertLast (int []، int) ؛
باطل InsertMid (int []، int)؛
int size = 0؛
int totalsize = 10؛
void main ()
{
int ch،
القيام
{
محكمة << "1-Read1D ................." <محكمة << "2-Print1D ............... . "<cout <<" 3-Search ................. "<cout <<" 4-Delete .............. ... "<cout <<" 5-Insert ................. "<cout <<" 0-Exit ............ ....... "<cout <<" أدخل اختيارك من فضلك: "<cin >> ch؛
إذا (ch == 1)
Read1D (أ) ؛
وإلا إذا (ch == 2)
Print1D (أ) ؛
وإلا إذا (ch == 3)
{
cout << "أدخل عنصرًا للبحث عنه؟" <cin >> item؛
14
loc = بحث (أ ، عنصر) ؛
إذا (loc == - 1)
cout << "Not Found" <else
cout << "موجود في:" <
} else if (ch == 4)
{
cout << "أدخل 1: احذف أولاً ..." <cout << "أدخل 2: احذف منتصف ......" <cout << "أدخل 3: احذف الأخير ..... "<cout <<" الآن أدخل خيارك ... "<cin >> ch2؛
إذا (ch2 == 1)
{
DeleteFirst (أ) ؛
Print1D (أ) ؛
}
else if (ch2 == 2)
{
DeleteMid (a) ؛
Print1D (أ) ؛
}
else
{
DeleteLast (a)؛
Print1D (أ) ؛
}
ch2 = 0 ؛
}
else if (ch == 5)
{
cout << "1: Insert in the First" <cout << "2: Insert in the Mid" <cout << "3: Insert in the Last" <cout << " أدخل اختيارك "<cin >> ch2؛
إذا (ch2 == 1)
{
cout << "أدخل العنصر:" <cin >> item؛
15
InsertFirst (أ ، عنصر) ؛
Print1D (أ) ؛
}
else if (ch2 == 2)
{
cout << "Enter item:" <cin >> item؛
InsertMid (أ ، عنصر) ؛
Print1D (a)؛}
وإلا إذا (ch2 == 3)
{
cout << "أدخل العنصر:" <cin >> item؛
InsertLast (أ ، عنصر) ؛
Print1D (a) ؛}
ch2 = 0 ؛
}
}
بينما (ch! = 0) ؛
clrscr () ؛
}
فارغ Read1D (int a [])
{
int i، n؛
cout << "أدخل حجم المصفوفة:" <cin >> n؛
لـ (i = 0؛ i {
cout << "Enter elemenet:"؛
cin >> a [i]؛
size ++؛
}
}
void Print1D (int a [])
{
int i؛
for (i = 0؛ i cout < <"" <cout <}
int Search (int a []، int item)
16
{
int i، loc = -1؛
for (i = 0؛ i if (a [i] == item)
loc = i؛
return مكان.
}
void DeleteFirst (int a [])
{
int i؛
إذا (الحجم> 0)
i--) a [i] = a [i-1] ؛ أ [0] = عنصر ؛































الحجم ++ ؛
}
else
cout << "The Array ممتلئة"؛
}
void InsertLast (int a []، int item)
{
if (size {
a [size] = item؛
size ++؛
}
else
cout << "The Array is full"؛
}
void InsertMid (int a []، int item)
{
int i، loc، elm؛
if (size {
loc = Search (a، item)؛
if ((loc! = 0) && (loc! = size-1) && (loc! = - 1))
{
cout < <"أدخل عنصرًا لإدراجه بعد:" <cin >> elm؛
لـ (i = size؛ i> loc؛ i--)
a [i] = a [i-1]؛
a [loc + 1] = elm؛
size ++؛
}
else
cout << "Sory you can't insert!" <else
cout << "


مصفوفات القطران:
مثال:
Int A [10] [10] ؛
فلوت أ [20] [20] ؛
مثال:
أ [2] [2]
أ = 2 3
5 6
أ [0] [0] = 2 ، أ [0] [1] = 3 ، أ [1] [0] = 5 ، أ [1] [ 1] = 6
طرق وصول لأي عنصر:
19
البنية المنطقية
a00 a01 ……… a0m
a10 a11 …… .... a1m
A = n * m
an0 an1… ........ anm
البنية المادية
العنوان الحقيقي

5


Memory
Loc (A [i] [j]) = العنوان الحقيقي + j * m + i
Loc (A [0] [0]) = 100 + 0 * 2 + 0 = 100 = 2
عنوان حقيقي
20

3

Memory
Loc (A [i] [j]) = العنوان الحقيقي + i * n + j 
Loc (A [1] [0]) = 100 + 1 * 2 + 0 = 102 = 5
# تضمين
حجم const int = 100 ؛
read2D باطلة (int [size] [size]، int، int) ؛
مجموع باطل (int [الحجم] [الحجم] ، int ، int ، int &) ؛
عدد باطلPE (int [الحجم] [الحجم] ، int ، int) ؛
void main ()
{
int n، m، s، a [size] [size]؛
cout << "Enter N، M" <cin >> n >> m؛
read2D (أ ، ن ، م) ؛
مجموع (أ ، ن ، م ، ث) ؛
cout <countPE (أ ، ن ، م) ؛
}
فارغ read2D (int a [size] [size]، int n، int m)
{
for (int i = 0؛ i for (int j = 0؛ j 21
{
cout << "Enter Array 2D:" <cin> > a [i] [j]؛}
}
مجموع باطل (int a [size] [size]، int n، int m، int & s)
{
int i، j؛
s = 0؛
for (i = 0؛ i for (j = 0 ؛ js = s + a [i] [j] ؛

عدد باطل PE (int a [size] [size]، int n، int m)
{int c = 0؛
لـ (int i = 0؛ i for (int j = 0؛ j {
if ((a [i] [j]٪ 2 == 0) && (a [i] [j]> 0))
c ++؛}
cout <cin >> ""؛
}
N * M
N * M
B = X * A
C = A + B 
N * M
# تتضمن
# تضمين
قراءة 2D باطلة (int [10] [10]، int &، int &)؛
void Print2D ( int [10] [10]، int &، int &) ؛
22
void Search (int [10] [10]، int &، int & int)؛
void DeleteFirst (int [10] [10]، int &، int &)؛
void InsertFirst (int [10] [10]، int &، int &)؛
int locr، locc؛
void main ()
{
clrscr ()؛
int a [10] [10]، n، m، item، ch؛
do
{
cout << "أدخل 1: لـ Read2D:" <cout << "أدخل 2: لـ print2D:" <cout << "أدخل 3: للبحث:" <cout << "أدخل 4: للحذف أولاً:" <cout << "أدخل 5: للإدراج أولاً" <cout << "أدخل 0: للإيقاف." ؛
سينما >> الفصل ؛
إذا (ch == 1)
Read2D (أ ، ن ، م) ؛
إذا (ch == 2)
Print2D (أ ، ن ، م) ؛
إذا (ch == 3)
{
cout << "أدخل عنصرًا للبحث عنه؟" <cin >> item؛
بحث (أ ، ن ، م ، عنصر) ؛ }
else if (ch == 4)
DeleteFirst (a، n، m)؛
وإلا إذا (ch == 5)
InsertFirst (أ ، ن ، م) ؛
}
بينما (ch! = 0) ؛
}
void Read2D (int a [10] [10]، int & n، int & m)
{
int i، j؛
cout << "


سينما >> a [i] [j] ؛}
cout <}
}
void Print2D (int a [10] [10]، int & n، int & m)
{
int i، j، k؛
لـ (i = 0؛ i {for (j = 0؛ j cout << "" <cout <}
void Search (int a [10] [10]، int & n، int & m، int item)
{
int i، j ، f = 0 ؛ locr = -1 ؛ locc = -1 ؛
لـ (i = 0 ؛ i لـ (j = 0 ؛ j {
if (a [i] [j] == item)
{f = 1 ؛
locr = i؛
locc = j؛
}}
if (f == 0)
cout << "Not Found" <else
cout << "موجود في:" << "[" <}
void DeleteFirst (int a [10] [10] ، int & n، int & m)
{
int i، j؛
for (i = 0؛ i for (j = 0؛ j {
if (j == m-1)
a [i] [j] = a [i + 1 ] [mj-1] ؛
آخر
24
a [i] [j] = a [i] [j + 1] ؛
}
a [n-1] [m-1] = 0 ؛
Print2D (أ ، ن ، م) ؛
}
void InsertFirst (int a [10] [10]، int & n، int & m)
{
int i، j، item، k1، k2؛
cout << "Enter item" <cin >> item؛
ك 1 = ن ؛
ك 2 = 0 ؛
لـ (i = n؛ i> = 0؛ i--)
لـ (j = m-1؛ j> = 0؛ j--)
{
a [k1] [k2] = a [i] [j] ؛
k1 = أنا ؛
ك 2 = ي ؛
}
أ [0] [0] = عنصر ؛
ن ++ ؛
Print2D (أ ، ن ، م) ؛
}
السلاسل:
1- اسم الحرف من السلسلة [الحجم] ؛
2- اسم شار * ؛
مثال: -
1) اسم char [35] ؛
2) شار * الاسم ؛
25

strcpy (st1 ، st2) ؛
n strncpy (st1 ، st2 ، n) ؛
strcmp (st1 ، st2) ؛
سترلين (شارع) ؛
strcat (st1 ، st2) ؛
strncat (st1 ، st2 ، n) ؛

isalnum (الفصل) ؛
isalpha (الفصل) ؛
islower (الفصل) ؛
isupper (الفصل) ؛
isdigit (الفصل) ؛
ستروبر () ؛
strlwr () ،
سترينف () ؛
#include
#include
void main ()
{char st [100]، l؛
cout << "أدخل st:" <cin >> st؛
l = strlen (st) ؛
كثافة العمليات ج = 0 ؛
لـ (int i = 0؛ i if ((st [i]> = '0') && (st [i] <= '9'))
c ++؛
cout <}
26
#include
#include
void main ()
{int i، l؛
char st [30]؛
cout << "أدخل سلسلة:"؛
cin >> st؛
l = strlen (st)؛
i = l / 2؛
cout <}
#include
#include
#include
void main ()
{
int i، l؛

cout << "أدخل السلسلة الخاصة بك:" <cin >> st؛
l = strlen (st) ؛
لـ (i = 0؛ i {
if (isupper (st [i])! = 0)
strlwr (st)؛
}
لـ (i = 0؛ i cout <cin >> ""؛
}
#
include
# include #include
void main ()
{
27
int i، l؛
char st [10]؛
cout << "أدخل السلسلة الخاصة بك:" <cin >> st؛
l = strlen (st)؛
لـ (i = 0؛ i {
if (islower ( st [i])! = 0)
strupr (st)؛
}
لـ (i = 0؛ i cout <cin >> ""؛
}
#include
#include
#include
void main ()
{
int i، l؛
char st [ 10] ؛
cout << "أدخل السلسلة الخاصة بك:" < سينما >> شارع ؛
l = strlen (st) ؛
لـ (i = 0 ؛ i if (isdigit (st [i])! = 0)
st [i] = '*'؛
لـ (i = 0؛ i cout <cin >> ""؛
}
#
تضمين # تضمين
فراغ main ()
{
28
int i، l، f = 0؛
char st [100]، c؛
cout << "Enter st:" <cin >> st؛
l = strlen (st)؛
cout << "أدخل الحرف للبحث في السلسلة: "<cin >> c ؛
لـ (i = 0 ؛ i {if (st [i] == c)
f = 1 ؛
}
if (f == 0)
cout <<" not found " ؛
يوجد
cout << "char في السلسلة" <}
#include
#include
#include
void main ()
{
int i، l، cd = 0، cl = 0؛
char st [100]؛
cout << "أدخل السلسلة الخاصة بك: "<cin >> st؛
l = strlen (st) ؛
لـ (i = 0 ؛ i {
إذا (isdigit (st [i])! = 0)
cd ++ ؛
وإلا إذا (islower (st [i])! = 0)
cl ++؛
}
29
cout << "result" <}
بنية أو مسجلات: هيكل هيكل
- اسم
{نوع
بيانات 1 حقل 1؛
نوع البيانات 2 الحقل 2 ؛
} ؛
مثال: - برنامج
الطالب
{
char name [30]؛
int لا
عنوان char [30] ؛
} ؛
N
#
تضمين # تضمين
حجم int = 100 ؛
طالب منظم
30
{
char name [35]؛
متوسط ​​كثافة العمليات
} ؛
قراءة باطلة (طالب [] ، كثافة العمليات) ؛
طباعة باطلة (طالب [] ، كثافة العمليات) ؛
باطل رئيسي ()
{
int i، n؛
حجم الطالب ؛
cout << "Enter N" <cin >> n ؛
قراءة (ق ، ن) ؛
طباعة (ق ، ن) ؛
}
قراءة باطلة (الطلاب [الحجم] ، int n)
{
int i، c = 0؛
لـ (i = 0؛ i {
cout << "أدخل في التشكيل" <cin >> s [i] .name >> s [i] .avg؛
if (s [i] .avg> = 50)
c ++؛
} }
void print (student s [size]، int n)
{
int i، c؛
for (i = 0؛ i cout <cout << "the sumcceses:" <cin >> ""؛
}
N
# include
#include
31
const int size = 100؛
Struct student
{
char name [35]، col [35]، dep [35]؛

void readrec (student []، int)؛
void print (student []، int)؛



حجم الطالب ؛
cout << "أدخل N:"؛
سينما >> ن ؛
readrec (s ، n) ؛
طباعة (ق ، ن) ؛
}
readrec باطلة (Student s [size]، int n)
{int i؛
لـ (i = 0؛ i {
cout << "أدخل المعلومات:" <cin >> s [i] .name >> s [i] .col >> s [i] .dep؛
}}
طباعة باطلة (طالب s [size]، int n)
{
int i؛
for (i = 0؛ i {
if ((strcmp (s [i] .col، "edu") == 0) && (strcmp (s [i] .dep ، "comp") == 0) || (strcmp (s [i] .d
ep، "math") == 0))
cout <cin >> ""؛













هيكل emp
{
char name [35]، cer [35]، add [35]؛
int deg، yearemp؛
راتب عائم
} ؛
readrec باطلة (emp []، int) ؛
printrec باطلة (emp []، int) ؛
تحرير باطل (emp []، int) ؛
countrec باطل (emp []، int) ؛
باطل رئيسي ()
{int n؛
إمبراطورية ه [الحجم] ؛
cout << "أدخل n:" <cin >> n؛
readrec (هـ ، ن) ؛
printrec (هـ ، ن) ؛
تحرير (ه ، ن) ؛
كونتريك (ه ، ن) ؛
}
void readrec (emp e [size]، int n)
{
for (int i = 0؛ i {
cout << "Enter informaiton:" <33
cin >> e [i] .name >> e [i] .deg >> e [i] .cer >> e [i] .add >> e [i] .yearemp؛
}
إذا (strcmp (e [i] .cer، "phd") == 0)
e [i]. الراتب = 1000 ؛
وإلا إذا (strcmp (e [i] .cer، "msc") == 0)
e [i] .salary = 750؛
وإلا إذا (strcmp (e [i] .cer، "bsc") == 0)
e [i] .salary = 500؛
وإلا إذا (strcmp (e [i] .cer، "db") == 0)
e [i] .salary = 350؛
وإلا إذا (strcmp (e [i] .cer، "sc") == 0)
e [i] .salary = 200؛
}
باطل printrec (emp e [size]، int n)
{
for (int i = 0؛ i {
if ((e [i] .salary> = 500) && (e [i] .salary <= 1000))
cout <dl؛
}
}
void editrec (emp e [size]، int n)
{
for (int i = 0؛ i {
if ((2008-e [i] .yearemp)> 5)
e [i] .salary = e [i] .salary + (e [i] .salary * 0.05)
}
} عدد
باطل (emp e [size]، int n)
{
int i، c = 0؛
for (i = 0؛ i {
if ((strcmp (e [i] .add، "basrah") == 0) && (strcmp (e [i]، "phd") == 0))
c ++؛
}
cout <}
34
# تشمل
# تشمل
# تشمل
CONST كثافة حجم = 100؛
قائمة الهيكل
{
char name [35]، add [35]؛
نوع int
منذ فترة طويلة
} ؛
readrec باطلة (list []، int) ؛
countrec باطل (list []، int، int &) ؛
عملية باطلة (list [] ، int ، list [] ، int) ؛
باطل رئيسي ()
{clrscr () ،
int n ، m ، c1 ، c2 ؛
القائمة في [الحجم] ، كـ [الحجم] ؛
cout << "أدخل n ، m" ؛
سينما >> ن >> م ؛
readrec (في ، ن) ؛
readrec (مثل ، م) ؛
كونتريك (في ، ن ، ج 1) ؛
كونتريك (مثل ، م ، ج 2) ؛
cout <عملية (at، n، as، m) ؛
}
قراءة باطلة (list r [size]، int n)
{
for (int i = 0؛ i {
cout << "Enter informaiton:" <cin >> r [i] .name >> r [i] .no >> r [i]. add >> r [i] .type؛
35
}
} عدد
باطل (list r [size]، int n، int & c)
{
int i؛
c = 0؛
for (i = 0؛ i if ((r [i] .type) == 2)
c ++؛
}
عملية باطلة (قائمة r [الحجم]، int n، list r1 [size]، int m)
{
int i، j؛
for (i = 0؛ i لـ (j = 0؛ j {if ((strcmp (r [i] .name، r1 [j] .name) == 0) && (strcmp (r [i] .add، r1 [j] .add) = = 0))
لـ (i = 0؛ i cout <cin >> ""؛
}
}
الهياكل المتداخلة:
الاسم متوسط ​​إضافة لا
أولاً ، ثاني ، بلد ثالث ، مدينة ، شارع
:
36
اسم هيكل
{
الحرف الأول [30] ، والثاني [30] ، والثالث [30] ؛
} ؛
هيكل عنوان
{
char country [30]، city [30]، street [30]؛
} ؛
طالب منظم
{
أسماء الاسم؛
تعويم متوسط
إضافة العنوان ؛
int لا
} ؛
باطل رئيسي ()
{
student S؛
الاسم الأول ؛
S.name.second؛
S.avg.
العنوان S.
شارع العنوان }
N
B
# تتضمن #
تضمين
# تتضمن
حجم int حجم = 100 ؛
هيكل أسماء
{
37
char أولا [35]، عائلة [35]؛
} ؛
عنوان المبنى
{
char city [35]، street [35]؛
} ؛
طالب منظم
{أسماء الاسم؛
إضافة العنوان ؛
int لا
} ؛
readrec باطلة (student []، int) ؛
العد الباطل (طالب [] ، كثافة العمليات) ؛
باطل رئيسي ()
{
clrscr () ،
int ن ؛
حجم الطالب ؛
cout << "أدخل n" ؛
سينما >> ن ؛
readrec (s ، n) ؛
countr (s ، n) ؛
}
readrec باطلة (Student s [size]، int n)
{
int i؛
لـ (i = 0 ؛ i {
cout << "أدخل informaiton:" <cin >> s [i] .name.first >> s [i] .name.family >> s [i]. no >> s [ i] .add.city >> s [i] .add.street؛
} العدّاد الباطل
(عدد الطلاب [الحجم]، int n)
{
int i، c = 0؛
char ch؛
for (i = 0؛ i {strncpy (ch، s [i] .add.city، 1) ؛

سي ++ ؛
}
38
cout <cin >> ""؛
}
المؤشرات:
مثال:
int x، * xptr؛
تعويم ذ ، * yptr ؛
xptr = 0 ؛ (المؤشر لا شيء)
yptr = NULL ؛ (مؤشر إلى لا شيء)
Ex:
int y = 5، * yptr؛
yptr = & ذ ؛
cout <ملاحظات:
y، * yptr؛
& y ، yptr ؛ y
39
* & yptr أو & * yptr (*، &)
Call by Value
Call by Reference باستخدام مرجع المؤشر
الاستدعاء حسب المرجع باستخدام المؤشر
#include
void cub1 (int) ؛
cub2 باطلة (int &) ؛
cub3 باطل (int *) ؛
void main ()
{
int x؛
cout << "أدخل x" <cin >> x ؛
cub1 (x) ؛
cout <<
cout << x <cub3 (& x) ؛
cout << x <cin >> ""؛
}
void cub1 (int x)
{
x = x * x * x؛}
void cub2 (int & x)
{
x = x * x * x؛}
void cub3 (int * ptr)
{
* ptr = * ptr * * ptr * * ptr ؛
40
}
X، Y
# تتضمن
مبادلة باطلة (int *، int *)؛
باطل رئيسي ()
{
int x، y؛
cout << "أدخل x، y" <cin >> x >> y؛
مبادلة (& س ، & ص) ؛
cout <cin >> ""؛
}
مبادلة باطلة (int * x، int * y)
{
int z؛
ض = * س ؛
* س = * ص ؛
* ص = ض ؛
}
المؤشر والمصفوفات
: مثال:
aptr = & a [10]؛
cout <


# تضمين
القراءة الفارغة (int * ، int) ؛
طباعة باطلة (int *، int) ؛
void main ()
{
int a [10]، n؛
cout << "أدخل n:" <cin >> n؛
قراءة (أ ، ن) ؛
طباعة (أ ، ن) ؛
}
قراءة فارغة (int * a، int n)
{
for (int i = 0؛ i {cout << "Enter A [" <cin >> a [i]؛}
}
طباعة باطلة (int * x، int n)
{
for (int i = 0؛ i cout << * (x + i) <cin >> ""؛
}
القوائم المرتبطة:
42
قائمة مرتبطة فردية:
رأس
Ali
tail 
بنية عقدة
{
Data type 1 Value1؛
Data type 2 Value2؛
عقدة * المؤشر ؛ 
}
مثال:



تعويم متوسط
عقدة * التالي ؛
}
Jon
43
void main ()
{
node * head = NULL، * tail = NULL؛
رأس الذيل *
عقدة جديدة
* np = عقدة جديدة ؛
سينما >> np-> الاسم ؛
سينما >> np-> avg ؛ 
np-> name = "Ali" ؛
np-> avg = 70 ؛ 
#include
#include
#include
Structure
{
char name [33]؛
تعويم متوسط
عقدة * التالي ؛
} ؛
إنشاء باطل (عقدة * & ، عقدة * &) ؛
طباعة باطلة (عقدة *) ؛
بحث باطل (عقدة * ، عقدة * & ، عقدة * & ، شار []) ؛
حذف باطل (عقدة * & ، عقدة * &) ؛
إدراج باطل أولاً (عقدة * &) ؛
إدراج باطل آخر (عقدة * &) ؛
إدراج باطل بعد (عقدة * & ، عقدة * &) ؛
إدخال باطل قبل (عقدة * & ، عقدة * &) ؛
باطل رئيسي ()
{
44
clrscr () ؛
int الفصل
عنصر شار [33] ؛
العقدة * الرأس = NULL ، * الذيل = NULL ، * cr ، * العلاقات العامة ؛
قم
{
cout << "أدخل 1: للإنشاء ........:" <cout << "أدخل 2: للطباعة ........:" <cout << "أدخل 3: من أجل بحث .......: "<cout <<" أدخل 4: للحذف .......: "<cout <<" أدخل 5: للإدراج أولاً.: "<cout <<" أدخل 6 : لإدراج الأخير ..: "<cout <<" أدخل 7: للإدراج بعد.: "<cout <<" أدخل 8: للإدراج قبل: "<cout <<" أدخل 0: للخروج ..... .....: "<cin >> ch؛
إذا (ch == 1)
خلق (رأس ، ذيل) ؛
إذا (ch == 2)
طباعة (رأس) ؛
إذا (ch == 3)
بحث (head ، cr ، pr ، item) ؛
إذا (ch == 4)
حذف (الرأس ، الذيل) ؛
إذا (ch == 5)
insertFirst (رأس) ؛
إذا (ch == 6)
insertLast (الذيل) ؛
إذا (ch == 7)
insertAfter (الرأس ، الذيل) ؛
إذا (ch == 8)
insertBefore (الرأس ، الذيل) ؛
}
بينما (ch! = 0) ؛
} إنشاء
باطل (عقدة * & رأس ، عقدة * & ذيل)
{
float av؛
cout << "Enter Avg" <cin >> av؛
while (av> NULL)
45
{
node * np = new node؛
cout << "أدخل الاسم" <cin >> np-> name ؛
np-> avg = av ؛
إذا (head == NULL)
head = np ؛
آخر
ذيل-> التالي = np ؛
الذيل = np ؛
الذيل-> التالي = NULL ؛
cout << "أدخل متوسط ​​جديد" <cin >> av؛
}
}
void print (node ​​* head)
{
while (head!
= NULL) {
coutnext؛
}
}
بحث باطل (عقدة * رأس ، عقدة * & cr ، عقدة * & العلاقات العامة ، عنصر حرف [])
{
cout << "أدخل عنصرًا للبحث" <cin >> item؛
العلاقات العامة = 0 ؛
كر = رأس ؛
while ((strcmp (cr-> name، item)! = 0) && (cr! = 0))
{
pr = cr؛
cr = cr-> التالي ؛
}
if (cr! = 0)
cout << "Found" <else
cout << "Not Found" <}
void Delete (node ​​* & head، node * & tail)
{
46
node * cr، * pr؛
عنصر شار [33] ؛
البحث (head، cr، pr، item) ؛
إذا (cr! = 0)
{
if (cr == head)
head = head-> next ؛
وإلا
إذا (cr == tail)
{
tail = pr ؛
الذيل> التالي = 0 ؛
}
else
pr-> next = cr-> next ؛
حذف (كر) ؛
}
طباعة (رأس) ؛
}
void insertFirst (node ​​* & head)
{
float av؛
اسم شار
عقدة * np = عقدة جديدة ؛
cout << "أدخل اسمًا" <cin >> np-> name ؛
cout << "أدخل avg" <cin >> av ؛
np-> avg = av ؛
np-> التالي = الرأس ؛
رئيس = np ؛
طباعة (رأس) ؛
}
void insertLast (node ​​* & tail)
{
float av؛
اسم شار
عقدة * np = عقدة جديدة ؛
cout << "أدخل اسمًا" <cin >> np-> name ؛
cout << "أدخل avg" <47
cin >> av ؛
np-> avg = av ؛
الذيل-> التالي = np ؛
الذيل = np ؛
np-> التالي = 0 ؛
}
إدراج باطل بعد (عقدة * رأس ،
العقدة * والذيل) {
float av؛
اسم الحرف ، العنصر [33] ؛
العقدة * كر ، * العلاقات العامة ؛
البحث (head، cr، pr، item) ؛
إذا (cr! = 0)
{
if ((cr! = head) && (cr! = tail))
{
node * np = new node؛
cout << "أدخل اسمًا" <cin >> np-> name ؛
cout << "أدخل avg" <cin >> av ؛
np-> avg = av ؛
pr-> التالي = np ؛
np-> التالي = cr ؛
}
else
cout << "But؟ Found in First or Last Pleese Tray agein" <}
else
cout << "Pleese Tray agein" <print (head)؛
}
void insertBefore (node ​​* & head، node * & tail)
{
float av؛
اسم الحرف ، العنصر [33] ؛
العقدة * كر ، * العلاقات العامة ؛
البحث (head، cr، pr، item) ؛
إذا (cr! = 0)
{
if ((cr! = head) &&



cout << "أدخل اسمًا" <cin >> np-> name ؛
cout << "أدخل avg" <cin >> av ؛
np-> avg = av ؛
العلاقات العامة = كر ؛
cr = cr-> التالي ؛
pr-> التالي = np ؛
np-> التالي = cr ؛
}
else
cout << "But؟ Found in First or Last Pleese Tray agein" <}
else
cout << "Pleese Tray agein" <print (head)؛
}
#include
#include
#include
Structure
{
char name [33]؛
تعويم متوسط
عقدة * التالي ؛
} ؛
هيكل سنود
{
char name [33]؛
سنود * التالي ؛
} ؛
إنشاء باطل (عقدة * & ، عقدة * &) ؛
جين باطل (عقدة * ، سنود * & ، سنود * &) ؛
طباعة باطلة (snode *) ؛
باطل رئيسي ()
49
{clrscr () ،
العقدة * الرأس = NULL ، * الذيل = NULL ؛
snode * shead = NULL ، * stail = NULL ؛
يخلق (رأس ، ذيل) ؛
الجنرال (رأس ، شيد ، ستيل) ؛
طباعة (شيد) ؛
} إنشاء
باطل (عقدة * & رأس ، عقدة * & ذيل)
{
float av؛
cout << "Enter Avg" <cin >> av؛
while (av> NULL)
{
node * np = new node؛
cout << "أدخل الاسم" <cin >> np-> name ؛
np-> avg = av ؛
إذا (head == NULL)
head = np ؛
آخر
ذيل-> التالي = np ؛
الذيل = np ؛
الذيل-> التالي = NULL ؛
cout << "أدخل متوسط ​​جديد" <cin >> av؛
}
}
void gen (node ​​* head، snode * & shead، snode * & stail)
{
while (head!



snode * np = سنود جديد ؛
strcpy (np-> name، head-> name) ؛
إذا (shead == 0)
shead = np ؛
آخر
stail-> التالي = np ؛
50
stail = np ؛
stail-> التالي = 0 ؛
}
head = head-> next؛
}
}
void print (snode * head)
{
while (head! = NULL)
{
coutnext؛}
cin >> ""؛
}
P
A BCD
P
#include
#include
#include
Structure node
{
char name [33]؛
عقدة * التالي ؛
} ؛
إنشاء باطل (عقدة * & ، عقدة * &) ؛
حذف باطل (عقدة * &) ؛
إدراج باطل أولاً (عقدة * &) ؛
طباعة باطلة (عقدة *) ؛
باطل رئيسي ()
{clrscr () ،
العقدة * الرأس = 0 ، * الذيل = 0 ؛
يخلق (رأس ، ذيل) ؛
51
deleteP (رأس) ؛
insertFirst (رأس) ؛
طباعة (رأس) ؛
} إنشاء
باطل (عقدة * & رأس ، عقدة * & ذيل)
{
char name [33]؛
cout << "أدخل اسمًا" <cin >> name ؛
while (strcmp (name، "end")! = 0)
{
node * np = new node؛
strcpy (np-> الاسم ، الاسم) ؛
إذا (head == 0)
head = np ؛
آخر
ذيل-> التالي = np ؛
الذيل = np ؛
الذيل> التالي = 0 ؛
cout << "أدخل اسمًا جديدًا" <cin >> name ؛
}
}
void deleteP (node ​​* & head)
{
node * np، * p؛
np = head-> التالي ؛
p = head-> next-> next ؛
np-> التالي = p-> التالي ؛
حذف (ع) ؛
}
إدراج باطل: First (node ​​* & head)
{
char name؛
عقدة * np = عقدة جديدة ؛
cout << "أدخل اسمًا لـ Insert First" <cin >> np-> name ؛
np-> التالي = الرأس ؛
رئيس = np ؛
}
void print (node ​​* head)
52
{
while (head! = 0)
{
coutnext؛}
cin >> ""؛
}
#include
#include
Struct node
{
int num؛
عقدة * التالي ؛
} ؛
باطل رئيسي ()
{
clrscr () ،
عقدة * ذيل ، * رأس ، * ك ، * ع ؛
int أنا = 1 ، ن ؛
cout << "أدخل الرقم:" <cin >> n ؛
عقدة * np = عقدة جديدة ؛
cout << "أدخل num:" <cin >> np-> num؛
np-> التالي = NULL ؛
الذيل = الرأس = np ؛
عندما أنا {
عقدة * np = عقدة جديدة ؛
cout << "أدخل الأسطوانات الجديدة:" <cin >> np-> num؛
np-> التالي = NULL ؛
الذيل-> التالي = np ؛
أنا ++ ؛
الذيل = np ؛
} ن
= رأس ؛
53
ك = عقدة جديدة ؛
k-> num = head-> num ؛
ك-> التالي = NULL ؛
ع = ك ؛
np = np-> التالي ؛
while (np! = NULL)
{
k = new node؛
k-> num = np-> num ؛
ك-> التالي = p ؛
ع = ك ؛
np = np-> التالي ؛
}
np = p ؛
while (np! = NULL)
{
cout np = np-> next؛
}
سينما >> "" ؛
}
قائمة مرتبطة مزدوجة:









نوع البيانات 1 Value1 ؛
نوع البيانات 2 Value2 ؛
Dnode * التالي ، * الخلف ؛
}
#include
#include
#include
Struct Dnode
{
char name [33]؛
تعويم متوسط
Dnode * التالي ، * الخلف ؛
} ؛
إنشاء باطل (Dnode * &، Dnode * &) ؛
طباعة باطلة (Dnode *) ؛
طباعة باطلة (Dnode *) ؛
بحث باطل (Dnode *، Dnode * &، Dnode * &، char [])؛
حذف باطل (Dnode * &، Dnode * &) ؛
إدراج باطل أولاً (Dnode * &) ؛
إدراج باطل آخر (Dnode * &) ؛
إدخال باطل قبل (Dnode * &، Dnode * &)؛
إدراج باطل بعد (Dnode * &، Dnode * &) ؛
باطل رئيسي ()
{
clrscr () ،
int الفصل
عنصر شار [33] ؛
Dnode * head = NULL ، * tail = NULL ، * cr ، * العلاقات العامة ؛

{
cout << "أدخل 1: للإنشاء ........:" <55
cout << "أدخل 2: للطباعة ........:" <cout << "أدخل 3: من أجل printInv .....: "<cout <<" أدخل 4: للبحث .......: "<cout <<" أدخل 5: للحذف .......: "<cout << "أدخل 6: للإدراج أولاً.:" <cout << "أدخل 7: للإدراج الأخير ..:" <cout << "أدخل 8: للإدراج قبل:" <cout << "أدخل 9: للإدراج بعد. : "<cout <<" أدخل 0: للخروج ..........: "<cin >> ch؛
إذا (ch == 1)
خلق (رأس ، ذيل) ؛
إذا (ch == 2)
طباعة (رأس) ؛
إذا (ch == 3)
printinv (ذيل) ؛
إذا (ch == 4)
بحث (head ، cr ، pr ، item) ؛
إذا (ch == 5)
حذف (الرأس ، الذيل) ؛
إذا (ch == 6)
insertFirst (رأس) ؛
إذا (ch == 7)
insertLast (الذيل) ؛
إذا (ch == 8)
insertBefore (الرأس ، الذيل) ؛
إذا (الفصل == 9)
insertAfter (الرأس والذيل) ؛
}
بينما (ch! = 0) ؛
} إنشاء
باطل (Dnode * & head، Dnode * & tail)
{
float av؛
cout << "Enter Avg" <cin >> av؛
while (av> NULL)
{
Dnode * np = new Dnode ؛
cout << "أدخل الاسم" <cin >> np-> name ؛
56
np-> avg = av ؛
إذا (head == NULL)
{
head = np؛
الرأس-> الظهر = 0 ؛
}
else
{
tail-> next = np؛
np-> ظهر = ذيل ؛
}
ذيل = np ؛
الذيل-> التالي = NULL ؛
cout << "أدخل متوسط ​​جديد" <cin >> av؛
}
}
طباعة باطلة (Dnode * head)
{
while (head!
= NULL) {
coutnext؛
}
}
باطل printinv (Dnode * tail)
{
while (tail! = 0)
{
coutback؛
}
}
بحث باطل (Dnode * head، Dnode * & cr، Dnode * & pr، char item [])
{
cout << "Enter item For search" <cin >> item؛
العلاقات العامة = 0 ؛
كر = رأس ؛
while ((strcmp (cr-> name، item)! = 0) && (cr! = 0))
{
57
pr = cr؛
cr = cr-> التالي ؛
}
if (cr! = 0)
cout << "Found" <else
cout << "Not Found" <}
حذف باطل (Dnode * & head، Dnode * & tail)
{
Dnode * cr، * pr؛
عنصر شار [33] ؛
البحث (head، cr، pr، item) ؛
إذا (cr! = 0)
{
if (cr == head)
{
head = head-> التالى؛
الرأس-> الظهر = 0 ؛
}
وإلا
إذا (cr == tail)
{
tail = pr ؛
الذيل> التالي = 0 ؛
}
else
pr-> next = cr-> next ؛
cr-> التالي-> back = pr ؛
حذف (كر) ؛
}
طباعة (رأس) ؛
}
void insertFirst (Dnode * & head)
{
float av؛
اسم شار
Dnode * np = Dnode جديد ؛
cout << "أدخل اسمًا للإدراج أولاً" <cin >> np-> name ؛
cout << "Enter Avg" <58
cin >> av؛
np-> avg = av ؛
الرأس-> الظهر = np ؛
np-> التالي = الرأس ؛
رئيس = np ؛
np-> رجوع = 0 ؛
}
void insertLast (Dnode * & tail)
{
float av؛
اسم شار
Dnode * np = Dnode جديد ؛
cout <<
cout << "Enter Avg" <cin >> av؛
np-> avg = av ؛
الذيل-> التالي = np ؛
np-> ظهر = ذيل ؛
الذيل = np ؛
np-> التالي = 0 ؛
}
void insertBefore (Dnode * & head، Dnode * & tail)
{
float av؛
اسم الحرف ، العنصر [33] ؛
Dnode * cr ، * العلاقات العامة ؛
البحث (head، cr، pr، item) ؛
إذا (cr! = 0)
{
if ((cr! = head) && (cr! = tail))
{
Dnode * np = new Dnode؛
cout << "أدخل اسمًا للإدراج بعد" <cin >> np-> name ؛
cout << "Enter Avg" <cin >> av؛
np-> avg = av ؛
pr-> التالي = np ؛
np-> التالي = cr ؛
cr-> back = np ؛
59
np-> عودة = العلاقات العامة ؛
}
else
cout <

cout << "Pleese Tray agein" <print (head)؛
}
void insertAfter (Dnode * & head، Dnode * & tail)
{
float av؛
اسم الحرف ، العنصر [33] ؛
Dnode * cr ، * العلاقات العامة ؛
البحث (head، cr، pr، item) ؛
إذا (cr! = 0)
{
if ((cr! = head) && (cr! = tail))
{
Dnode * np = new Dnode؛
cout << "أدخل اسمًا للإدراج قبل" <cin >> np-> name ؛
cout << "Enter Avg" <cin >> av؛
np-> avg = av ؛
العلاقات العامة = كر ؛
cr = cr-> التالي ؛
pr-> التالي = np ؛
np-> التالي = cr ؛
cr-> back = np ؛
np-> back = العلاقات العامة ؛
}
else
cout << "But؟ In First or Last Pleese Tray agein" <
} else
cout << "Pleese Tray agein" <print (head)؛
}
60
#include
#include
#include
Struct cnode
{
char name [33]؛
تعويم متوسط
cnode * التالي ؛
} ؛
إنشاء باطل (cnode * & ، cnode * &) ؛
طباعة باطلة (cnode * ، cnode *) ؛
باطل رئيسي ()
{
clrscr () ،
cnode * head = NULL ، * tail = NULL ؛
يخلق (رأس ، ذيل) ؛
طباعة (رأس ، ذيل) ؛
} إنشاء
باطل (cnode * & head، cnode * & tail)
{
float av؛
cout << "Enter Avg" <cin >> av؛
while (av> 0)
{
cnode * np = new cnode ؛
cout << "أدخل الاسم" <cin >> np-> name ؛
np-> avg = av ؛
إذا (head == NULL)
head = np ؛
آخر
ذيل-> التالي = np ؛
الذيل = np ؛

61
cout << "Enter Avg" <cin >> av؛
}
ذيل-> التالي = رأس ؛
}
void print (cnode * head، cnode * tail)
{
while (head! = tail)
{
coutnext؛
}
cout> ""؛
}
المكدس:
Sp Top
LIFO
دفع
أعلى = 0 أعلى = 1 أعلى = 2 أعلى = 3

عنصر B عنصر B  حجم
AABACA
= 3
مكدس فوق التدفق
Pop
62
top = 3 top = 2 top = 1 top = 0

B عنصر العنصر B  مكدس
ACABAA
تحت التدفق
#
تضمين # تضمين
حجم int = 5 ؛
دفع باطل (int []، int &، int) ؛
فرقعة باطلة (int []، int &، int &) ؛
باطل رئيسي ()
{
clrscr () ،
مكدس int [الحجم] ، أعلى = 0 ، عنصر ، ط ؛
لـ (i = 0 ؛ i {
cout << "أدخل العنصر" <cin >> عنصر ؛
دفع (مكدس ، أعلى ، عنصر) ؛
}
لـ (i = 0 ؛ i {
pop (stack ، top ، item) ؛
cout < }
cin >> ""؛
}
void push (int stack [size]، int & top، int item)
{
if (top {
top ++؛
stack [top] = item؛
}
63
else
cout << "FULL STACK !!" < }
فرقعة فارغة (int stack [size]، int & top، int & item)
{
if (top> 0)
{
item = stack [top]؛
top--؛
}
else
cout << "EMPTY STACK ؟؟" <



دفع باطل (int []، int &، int) ؛
فرقعة باطلة (int []، int &، int &) ؛
باطل رئيسي ()
{
clrscr () ،
مكدس int [size]، top = 0، item، i، stack2 [size]، top2 = 0، c = 0؛
لـ (i = 0 ؛ i {
cout << "أدخل العنصر" <cin >> عنصر ؛
دفع (مكدس ، أعلى ، عنصر) ؛
}
لـ (i = 0 ؛ i {
pop (stack ، top ، item) ؛
إذا ( item> = 50)
c ++ ؛
push (stack2، top2، item)؛
}
لـ (i = 0؛ i 64
{
pop (stack2، top2، item)؛
push (stack، top، item)؛
}
لـ (i = 0 ؛ i {
pop (stack، top، item)؛
cout <}
cout << "The Sucess Count:" <cin >> ""؛
}
دفع باطل (int stack [size]، int & top،



مكدس [أعلى] = عنصر ؛
}
else
cout << "FULL STACK !!" <}
void pop (int stack [size]، int & top، int & item)
{
if (top> 0)
{
item = stack [top]؛
أعلى--؛
}
else
cout << "EMPTY STACK ؟؟" <}
65
#include
#include
const int size = 15؛
دفع باطل (int []، int &، int) ؛
فرقعة باطلة (int []، int &، int &) ؛
طباعة باطلة (int []، int) ؛
باطل رئيسي ()
{
clrscr () ،
int stack1 [الحجم] ، المكدس 2 [الحجم] ، المكدس 3 [الحجم] ، المكدس 4 [الحجم] ؛
int top1 = 0 ، top2 = 0 ، top3 = 0 ، top4 = 0 ، i ، عنصر ؛
لـ (i = 0 ؛ i <10 ؛ i ++)
{
cout << "أدخل العنصر" <cin >> item ؛
دفع (مكدس 1 ، أعلى 1 ، البند) ؛
}
لـ (i = 0 ؛ i <5 ؛ i ++)
{
cout << "أدخل العنصر" <cin >> item ؛
دفع (مكدس 2 ، أعلى 2 ، عنصر) ؛
}
لـ (i = 0؛ i <10؛ i ++)
{
pop (stack1، top1، item) ؛
if (العنصر٪ 2 == 0)
{
push (stack3، top3، item) ؛
دفع (مكدس 4 ، أعلى 4 ، عنصر) ؛
}}
لـ (i = 0؛ i <5؛ i ++)
{
pop (stack2، top2، item) ؛
إذا (العنصر٪ 3 == 0)
اضغط (مكدس 4 ، أعلى 4 ، عنصر) ؛
إذا (العنصر٪ 2 == 0)
دفع (مكدس 3 ، أعلى 3 ، عنصر) ؛
}
print (stack3، top3)؛
طباعة (مكدس 4 ، أعلى 4) ؛
66
سين >> "" ؛
}
دفع باطل (int stack [size]، int & top، int item)
{
if (top {
top ++؛
stack [top] = item؛
}
else
cout << "FULL STACK !!" <}
void pop (int stack [size]، int & top، int & item)
{
if (top> 0)
{
item = stack [top]؛
أعلى--؛
}
else
cout << "EMPTY STACK ؟؟" <}
void print (int stack []، int top)
{
int item؛
بينما (أعلى> 0)
{
فرقعة (مكدس ، أعلى ، عنصر) ؛
cout <}
}
#include
#
include const int size = 10 ؛
دفع باطل (int []، int &، int) ؛
فرقعة باطلة (int []، int &، int &) ؛
عقدة بناء
67
{
int no؛
عقدة * التالي ؛
} ؛
باطل رئيسي ()
{
clrscr () ،
مكدس int [الحجم] ، أعلى = 0 ، عنصر ، ط ؛
العقدة * الرأس = 0 ،
لـ (i = 0 ؛ i {
cout << "أدخل العنصر" <cin >> عنصر ؛
دفع (مكدس ، أعلى ، عنصر) ؛
}
لـ (i = 0 ؛ i {
pop (stack ، top ، item) ؛
إذا ( (item> 9) && (item <100))
{
node * np = new node؛
np-> no = item؛
if (head == 0)
head = np؛
else
tail-> next = np؛
tail = np؛
tail-> next = 0؛
}
}
while (head! = 0)
{
coutnext؛
}
cin >> ""؛
}
دفع باطل (int stack [size]، int & top، int item)
{
if (top {
68
top ++؛
stack [top] = item؛
}
else
cout << "FULL STACK !!" <}
void pop (int stack [size] ،& int & top & int & item)
{
إذا (أعلى> 0)
{
item = stack [top] ؛
أعلى--؛
}
else
cout << "EMPTY STACK ؟؟" <}
#include
#include
const int size = 6؛
دفع باطل (int []، int &، int) ؛
فرقعة باطلة (int []، int &، int &) ؛
طباعة باطلة (int [] ، int ، int) ؛
باطل رئيسي ()
{
clrscr () ،
مكدس int [size]، top = 0، stack2 [size]، top2 = 0، I، j، item، a [size]؛
لـ (i = 0 ؛ i {
cout << "أدخل العنصر" <cin >> عنصر ؛
دفع (مكدس ، أعلى ، عنصر) ؛
}
لـ (i = 0 ؛ i {
pop (stack ، top ، item) ؛
a [ i] = عنصر ؛
}
69
لـ (i = 0 ؛ i {
item = a [i] ؛
لـ (j = i + 1 ؛ j {
if (item == a [j])
push (stack2، top2، item) ؛

}
print (stack2، top2، item)؛
سينما >> "" ؛
}
دفع باطل (int stack [size]، int & top، int item)
{
if (top {
top ++؛
stack [top] = item؛
}
else
cout << "FULL STACK !!" <}
void pop (int stack [size ]، int & top، int & item)
{
if (top> 0)
{
item = stack [top]؛
top--؛
}
else
cout << "EMPTY STACK ؟؟" <}
void print (int stack2 [size]، int top2، int item)
{
int I؛
for (i = 0؛ i = top2؛ i ++)
{
pop (stack2، top2، item)؛
cout <}
}
70
#include
#include
const int size = 10 ؛

فرقعة باطلة (int []، int &، int &) ؛
طباعة باطلة (int [] ، int ، int) ؛
اختبار int (int) ؛
int pri (int) ؛
باطل رئيسي ()
{
clrscr () ،
مكدس int [size] ، top = 0 ، item ، i ، n ، comp [size] ، top2 = 0 ، prim [size] ، top3 = 0 ؛
cout << "أدخل الحجم" <cin >> n ؛
لـ (i = 0 ؛ i {
cout << "أدخل العنصر" <cin >> عنصر ؛
دفع (مكدس ، أعلى ، عنصر) ؛
}
لـ (i = 0 ؛ i {
pop (stack ، top ، item) ؛
إذا ( (test (item)) == 1)
push (comp، top2، item) ؛
if ((pri (item)) == 0)
push (prim، top3، item)؛
}
cout << "..... ......... رقم Compelement "<print (comp، top2، item)؛
cout <<" .............. الرقم الأولي "<print (prim، top3 ، البند) ؛
71
سين >> "" ؛
}
دفع باطل (مكدس int [size]، int & top، int item)
{
int n؛
if (top {
top ++؛
stack [top] = item؛
}
else
cout << "FULL STACK !!" <}
void pop (int stack [size]، int & top، int & item)
{
if (top> 0)
{
item = stack [top]؛
top--؛
}
else
cout << "EMPTY STACK ؟؟" <}
int test (int item)
{
int f = 0، s = 0، i؛
for (i = 1؛ i <= item-1؛ i ++)
{
if (item٪ i == 0)
s + = i؛
}
if (s == item)
f = 1؛
return f؛
}
int pri (عنصر int)
{
int f = 0، i؛
لـ (i = 2 ؛ i {
if (العنصر٪ i == 0)
72
f = 1 ؛
}
عودة و ؛
}
طباعة باطلة (int stack [size]، int top، int item)
{
while (top> 0)
{
pop (stack، top، item)؛
cout <}}
إعادة التخطيط:
if (stop - condition)
Msg Box ("stop")
وإلا
(متابعة)
{قم
باستدعاء نفس الإجراء الذي يحتوي على نفس العملية.
}
N
لا نانوثانية *
8 3؟ *
73
دفع
دفع
3 1؟ *
7 2؟ *
8 3؟ *
دفع دفع
البوب
البوب
البوب
البوب
فارغ
# تشمل
# تشمل
مبلغ باطلة (الباحث ن، الباحث لا، الباحث والصورة)
{
إذا (ن == 0)
ق = 0؛
آخر
{
cout << "أدخل لا" <cin >> لا ؛
مجموع (ن -1 ، لا ، ق) ؛
7 2؟ *
0 0 * 8 3؟ *
3 1؟ *
7 2؟ *
8 3؟ *
* *
؟
؟ *
7 2 10 *
8 3؟ *
8 2 18 *
74
ثانية + = لا ؛
}
}
void main ()
{
clrscr ()؛
int s ، لا ، ن ؛
cout << "إدخال الحجم" <cin >> n ؛
مجموع (ن ، لا ، ق) ؛
cout <cin >> ""؛ }
ن!
#include
int fact (int a)
{
if (a == 0)
return 1؛
وإلا
ترجع حقيقة * (أ -1) ؛
}
void main ()
{
int f، n؛
cout << "أدخل N!" <سين >> ن ؛
و = حقيقة (ن) ؛
cout <cin >> ""؛
}
#
include # include
const int size = 10 ؛
مجموع باطل (int a [size]، int n، int & s)
{
if (n == 0)
75
s = 0؛
آخر
{
cout << "أدخل [n]" <cin >> a [n]؛
مجموع (أ ، ن -1 ، ق) ؛
إذا ((a [n]٪ 2 == 0) && (a [n]> 0))
s + = a [n]؛
}
}
void main ()
{
clrscr ()؛
int s ، b [الحجم] ، m ؛
cout << "Enter m" <cin >> m ؛
مجموع (ب ، م ، ث) ؛
cout <cin >> ""؛
}
#
include # include
const int size = 10 ؛
طباعة باطلة (int a [size]، int n)
{
if (n == 0)
cout << "


طباعة (أ ، ن -1) ؛
cout <}
}
void main ()
{
clrscr ()؛
int a [الحجم] ، n ؛
76
cout << "إدخال الحجم" <cin >> n؛
طباعة (أ ، ن) ؛
سينما >> "" ؛
}
#
include const int size = 100 ؛
طالب منظم
{
char name [35]؛
متوسط ​​كثافة العمليات
} ؛
مجموع باطل (حجم الطلاب [حجم] ، int n ، int & c)
{
if (n == 0)
c = 0؛
else
{cout << "أدخل في التشكيل" <cin >> s [n] .name >> s [n] .avg؛
المجموع (ق ، ن -1 ، ج) ؛
if (s [n] .avg> = 50)
c ++؛}
}
void main ()
{
int n، c؛
حجم الطالب ؛
cout << "

cout << "النجاح:" <cin >> ""؛
}
77
void print (node ​​* head)
{
if (head! = 0)
{
head = head-> next؛
طباعة (رأس) ؛
cout}
N
# include xii yii
# تتضمن
مجموع باطل (int x، int y، int n، int & s) i = 0
{
if (n <= 0)
s = 0؛
وإلا
{
sum (x، y، n-1، s) ؛
s = s + pow (x ، n) * pow (y ، n) ؛
}
}
void main ()
{
int x، y، n، s؛
cout << "Enter N" <cin >> n ؛
cout << "أدخل x & y" <cin >> x >> y؛
مجموع (س ، ص ، ن ، ث) ؛
cout <cin >> ""؛






باطل ماكس (int ، int ، int &) ؛
باطل رئيسي ()
{
clrscr () ،
int لا ، n ، ماكس ، أنا ؛
cout << "أدخل N:" << ""؛
سينما >> ن ؛
cout << "---------------------" <Max (n، no، max)؛
cout << "n العدد الأقصى هو:" <cin >> ""؛
}
void Max (int n، int no، int & max)
{
if (n == 0)
max = 0؛
آخر
{
cout << "أدخل لا: -" << ""؛
سينما >> لا ؛
ماكس = لا ؛
ماكس (ن -1 ، لا ، كحد أقصى) ؛
إذا (لا> ماكس)
ماكس = لا ؛
}
}
N 9
#
include # include
float sum (int n، int no، float & s،
float av) {
if (n == 0)
s = 0 ؛
آخر
{
cout << "أدخل لا" <cin >> لا ؛
79
sum (n-1 ، no ، s ، av) ؛
ق + = لا ؛
}
عودة ق ؛
}
void main ()
{
clrscr () ؛
int لا ، ن ؛
تعويم مركبات ، ق ؛
cout << "Enter The N" <cin >> n؛
مجموع (n ، no ، s ، av) ؛
av = s / n ؛
cout << "الجمع" <cout << "المتوسط" <cin >> ""؛
}
ق = 1/2 + 1/4 + 2/8 + 3/16 + 5/32 + 8/64 ......... ن؟
#أنا



سنة النشر : 2004م / 1425هـ .
حجم الكتاب عند التحميل : 2.5 ميجا بايت .
نوع الكتاب : pdf.
عداد القراءة: عدد قراءة هياكل البيانات بلغة ++C

اذا اعجبك الكتاب فضلاً اضغط على أعجبني
و يمكنك تحميله من هنا:

تحميل هياكل البيانات بلغة ++C
شكرًا لمساهمتكم

شكراً لمساهمتكم معنا في الإرتقاء بمستوى المكتبة ، يمكنكم االتبليغ عن اخطاء او سوء اختيار للكتب وتصنيفها ومحتواها ، أو كتاب يُمنع نشره ، او محمي بحقوق طبع ونشر ، فضلاً قم بالتبليغ عن الكتاب المُخالف:

برنامج تشغيل ملفات pdfقبل تحميل الكتاب ..
يجب ان يتوفر لديكم برنامج تشغيل وقراءة ملفات pdf
يمكن تحميلة من هنا 'http://get.adobe.com/reader/'

المؤلف:
علاء خضير الزيادي - Alaa Khudair Ziadi

كتب علاء خضير الزيادي    علاء خضير الزيادي ❰ له مجموعة من المؤلفات أبرزها ❞ هياكل البيانات بلغة ++C ❝ ❞ البرمجة الكيانية بلغتي ++C++ - VC ❝ ❞ هندسة البرامجيات الفصل الاول ❝ ❱. المزيد..

كتب علاء خضير الزيادي