data solutions stack

16
Dec 2015 كتلونسة ل سل من كمنقع مجاساتا سنلاى لةمة عل لك قاوة بزةeng-hs.net كسنلات ملنفوة ا مجاسا لصنةو في تل من اكفوعن وسةفل صاكن أ اكهسد أما61941842 أن لصنةوة اكوئة اكجمعةفل بةاسنوداب أ باك61862999 . حمادة شعبان 260 4444 9 hs.com - eng info@ ( 1 ) كسنلات ملنفوة ا مجاساقعةن باكمنnet . hs - eng , com . hs - eng Chapter 4 Stacks ولةارين محل شرح وتم مذكراتحانات ، امتلعديد سابقة ل علىً د أدناه متاحة مجانان الموا من المذكورين الموقعية، شاركذه المذكر تطوير هون لك إسهام في يك ذا لما بر أي أو اقتراح أوحظة م تصدارا رى أثرها با تلتالية ا أجر فاعلهه مثل على خير فل من دل.

Upload: mohammed-yehia

Post on 27-Jan-2016

14 views

Category:

Documents


2 download

DESCRIPTION

Data Solutions Stack

TRANSCRIPT

Dec 2015

eng-hs.netنبزةاوةنق لكنعلىنلةمة سنلاتناكمنقعنمجاسا نمننتسلما نستس نلكتلونسة نال

61862999باكتسودابنأتسفلنبةاسننناكجمعة ناكوئةتسة أننلصنةونن61941842أما ناكهسدتس نأتسفلنصاكنننوسة نناكفوعفينتلنمننلصنةونمجاسا ناكسنلاتنملنفوةن

net.hs-eng ,com.hs-engنباكمنقعةننمجاسا ناكسنلاتنملنفوةن hs.com-enginfo@ (1 )ن 9 4444 260 .نحمادةنشعبان

Chapter 4

Stacks

سابقة للعديد ، امتحاناتمذكرات شرح وتمارين محلولة

الموقعين المذكورين من المواد أدناه متاحة مجانا على

أيبرلماذا ال يكون لك إسهام في تطوير هذه المذكرة، شارك

التالية ترى أثرها باإلصدارات مالحظةأو اقتراح أو

.من دل على خير فله مثل أجر فاعله

Dec 2015

eng-hs.netنبزةاوةنق لكنعلىنلةمة سنلاتناكمنقعنمجاسا نمننتسلما نستس نلكتلونسة نال

61862999باكتسودابنأتسفلنبةاسننناكجمعة ناكوئةتسة أننلصنةونن61941842أما ناكهسدتس نأتسفلنصاكنننوسة نناكفوعفينتلنمننلصنةونمجاسا ناكسنلاتنملنفوةن

net.hs-eng ,com.hs-engنباكمنقعةننمجاسا ناكسنلاتنملنفوةن hs.com-enginfo@ (2 )ن 9 4444 260 .نحمادةنشعبان

بعد كل عملية إضافة s1 يبين محتوى يالـتالـشكل الـ

3 3 35 5

7

3579

35

97

11

S1(1)

S1(2)

S1(3)

S1(4)

S1(5)

35

97

11

S1(6)

13

(loop iteration)بعد كل عملية s1, s2 يبين محتوى التاليشكل الـ

35

97

11

S1

13

S2(1)

35

97

11

S1

13

S2(2)

35

9711

S1

13

S2(3)

35

97

11

S1

13

S2(4)

3

5

97

11

S1

13

S2(5)

35

97

11

S1

13S2

(6)

، مانادرا ما تظهر الحقيقة

لم يتم السعي وراءها

Dec 2015

eng-hs.netنبزةاوةنق لكنعلىنلةمة سنلاتناكمنقعنمجاسا نمننتسلما نستس نلكتلونسة نال

61862999باكتسودابنأتسفلنبةاسننناكجمعة ناكوئةتسة أننلصنةونن61941842أما ناكهسدتس نأتسفلنصاكنننوسة نناكفوعفينتلنمننلصنةونمجاسا ناكسنلاتنملنفوةن

net.hs-eng ,com.hs-engنباكمنقعةننمجاسا ناكسنلاتنملنفوةن hs.com-enginfo@ (3 )ن 9 4444 260 .نحمادةنشعبان

بعد كل عملية إضافة s1 يبين محتوى التاليشكل الـ

3 3 35 5

7

3579

35

97

11

S1(1)

S1(2)

S1(3)

S1(4)

S1(5)

35

97

11

S1(6)

13

loop iterationبعد كل عملية s1, s2 يبين محتوى التاليشكل الـ

35

97

11

S1 S2(1)

35 7

11

S1 S2(2)

3711

S1 S2(3)

ال أحد يتمتع بالحكمة

واألمن إال الصادقون

Dec 2015

eng-hs.netنبزةاوةنق لكنعلىنلةمة سنلاتناكمنقعنمجاسا نمننتسلما نستس نلكتلونسة نال

61862999باكتسودابنأتسفلنبةاسننناكجمعة ناكوئةتسة أننلصنةونن61941842أما ناكهسدتس نأتسفلنصاكنننوسة نناكفوعفينتلنمننلصنةونمجاسا ناكسنلاتنملنفوةن

net.hs-eng ,com.hs-engنباكمنقعةننمجاسا ناكسنلاتنملنفوةن hs.com-enginfo@ (4 )ن 9 4444 260 .نحمادةنشعبان

:prefix إلى infix من المعادلةية توضح كيفية تحويل الـتالـخطوات الـ a)

( ( D – B ) + C )

( ( - D B ) + C )

( + ( - D B ) C )

+ - D B C

b)

( ( A * B ) + ( C * D ) )

( ( * A B ) + ( * C D ) )

( + ( * A B ) ( * C D ) )

+ * A B * C D

c)

( ( ( ( A + B ) * C ) - ( D * F ) ) + C )

( ( ( ( + A B ) * C ) - ( * D F ) ) + C )

( + ( - ( * ( + A B) C ) ( * D F ) ) C )

+ - * + A B C * D F C

d)

( ( ( A - ( 2 * ( B + C ) ) ) - ( D * E ) ) * F )

( * ( - ( - A ( * 2 ( + B C ) ) ) ( * D E ) ) F )

* - - A * 2 + B C * D E F

مة قوة عظي هو شري كل عقل ب

ــن ــا ع ــتم إيقا ه ــى ي ــاك ة حت س

ـــرار ـــة مشـــتعلة وق طريـــغ ر ب

محدد وتصميم أكيد على ت فيذه

Dec 2015

eng-hs.netنبزةاوةنق لكنعلىنلةمة سنلاتناكمنقعنمجاسا نمننتسلما نستس نلكتلونسة نال

61862999باكتسودابنأتسفلنبةاسننناكجمعة ناكوئةتسة أننلصنةونن61941842أما ناكهسدتس نأتسفلنصاكنننوسة نناكفوعفينتلنمننلصنةونمجاسا ناكسنلاتنملنفوةن

net.hs-eng ,com.hs-engنباكمنقعةننمجاسا ناكسنلاتنملنفوةن hs.com-enginfo@ (5 )ن 9 4444 260 .نحمادةنشعبان

: postfixإلى infix الـخطوات الـتالـية توضح كيفية تحويل الـحل من

a)

( ( D – B ) + C )

( ( D B - ) C + )

D B – C +

b)

( ( A * D ) + ( C * D ) )

( ( A D * ) ( C D * ) + ) A D * C D * +

c)

( ( ( ( A + B ) * C ) - ( D * F ) ) + C )

( ( ( ( A B + ) C * ) ( D F * ) - ) C + )

A B + C * D F * - C +

d)

( ( ( A - ( 2 * ( B + C ) ) ) - ( D * E ) ) * F)

( ( ( A ( 2 ( B C + ) * ) - ) ( D E * ) - ) F * )

A 2 B C + * - D E * - F *

حد تك م نت ر با صغيرة إذا كا ودة و

فســــتكون أنــــت كــــذلك، وإذا كــــان

فستكون عظيما طموحك ال حدود له

Dec 2015

eng-hs.netنبزةاوةنق لكنعلىنلةمة سنلاتناكمنقعنمجاسا نمننتسلما نستس نلكتلونسة نال

61862999باكتسودابنأتسفلنبةاسننناكجمعة ناكوئةتسة أننلصنةونن61941842أما ناكهسدتس نأتسفلنصاكنننوسة نناكفوعفينتلنمننلصنةونمجاسا ناكسنلاتنملنفوةن

net.hs-eng ,com.hs-engنباكمنقعةننمجاسا ناكسنلاتنملنفوةن hs.com-enginfo@ (6 )ن 9 4444 260 .نحمادةنشعبان

( ( ( A B * ) C - ) D + )

( ( ( A * B ) - C ) + D )

A * B - C + D

( ( A ( B C + ) * ) D - )

( ( A ( B + C ) * ) D - )

( ( A * ( B + C ) ) – D )

A * ( B + C ) - D

( + - * A B C D )

( + ( - ( * A B ) C ) D )

( ( ( A * B ) - C ) + D )

A * B - C + D

( - * A + B C D )

( - ( * A ( + B C ) ) D )

( ( A * ( B + C ) ) - D )

A * ( B + C ) - D

لم صحيإذا ستفعله ما كن حا ي

وإذا لـــم يكـــن مـــا ، فـــال تفعلـــه

ــــه ســــتقوله صــــادقا ــــال تقل ف

Dec 2015

eng-hs.netنبزةاوةنق لكنعلىنلةمة سنلاتناكمنقعنمجاسا نمننتسلما نستس نلكتلونسة نال

61862999باكتسودابنأتسفلنبةاسننناكجمعة ناكوئةتسة أننلصنةونن61941842أما ناكهسدتس نأتسفلنصاكنننوسة نناكفوعفينتلنمننلصنةونمجاسا ناكسنلاتنملنفوةن

net.hs-eng ,com.hs-engنباكمنقعةننمجاسا ناكسنلاتنملنفوةن hs.com-enginfo@ (7 )ن 9 4444 260 .نحمادةنشعبان

a)

2 3 * 4 - 5 +

6 4 - 5 +

2 5 +

7

b)

2 3 4 + * 5 -

2 7 * 5 -

14 5 -

9

الخيال هو بداية اإلبداع، إنك تتخيل

تر ب فيما تتخيله، ثم ، ما تر ب فيه

يهوأخيرا تص ع ما تر ب ف

Dec 2015

eng-hs.netنبزةاوةنق لكنعلىنلةمة سنلاتناكمنقعنمجاسا نمننتسلما نستس نلكتلونسة نال

61862999باكتسودابنأتسفلنبةاسننناكجمعة ناكوئةتسة أننلصنةونن61941842أما ناكهسدتس نأتسفلنصاكنننوسة نناكفوعفينتلنمننلصنةونمجاسا ناكسنلاتنملنفوةن

net.hs-eng ,com.hs-engنباكمنقعةننمجاسا ناكسنلاتنملنفوةن hs.com-enginfo@ (8 )ن 9 4444 260 .نحمادةنشعبان

a)

+ - * 2 3 4 5

+ - 6 4 5

+ 2 5

7

b)

- * + 2 3 4 5

15

- * 5 4 5

- 20 5

ه ذا إذا ك ت تر ب في ال جاح في

ـــك أن تصـــ ع ـــالم، يجـــب علي الع

ق يدها أث اء ت دمكالفرص التي تر

Dec 2015

eng-hs.netنبزةاوةنق لكنعلىنلةمة سنلاتناكمنقعنمجاسا نمننتسلما نستس نلكتلونسة نال

61862999باكتسودابنأتسفلنبةاسننناكجمعة ناكوئةتسة أننلصنةونن61941842أما ناكهسدتس نأتسفلنصاكنننوسة نناكفوعفينتلنمننلصنةونمجاسا ناكسنلاتنملنفوةن

net.hs-eng ,com.hs-engنباكمنقعةننمجاسا ناكسنلاتنملنفوةن hs.com-enginfo@ (9 )ن 9 4444 260 .نحمادةنشعبان

:postfix إلى infix واعد تحويل ق

ال يتم مباشرة و output الـ( يتم طباعته بBأو A)مثل operand الفى ح (1

. stack إلىنسخه

. stack إلى إضافتهيتم )عالمة قوس مفتوح الفى ح (2

إذا كان ال يحتوى على stack إلىنسخه /( يتم ،* ،- ،)+ operatorالفى ح (3

، أو أن )هو قوس مفتوح هيإل هنسخ تمحرف آخر أن ابقة، أوس operators أي

.ولويةاألب الحالى أقل من إليه نسخهتم operatorآخر

قوس الـسابقة وحذف الـ operators الـلكل pop لعم ميت ( قوس تسكير الفى ح (4

.stack الـمن ) مفتوحال

operator آلخر ولويةفي األ مساوي أو أقل/( ،* ،- ،)+ operator الفى ح (5

عن أولويتها تزيد التي operatorsالـلكل pop يتم عمل، stack إلى نسخهتم

يا.الخ stack أو حتى يصبح )حتى أقرب قوس مفتوح الحالي

طباعة ما به و stack الـلمحتوى pop يتم عمل expressionمن االنتهاءإذا تم (6

.output الـب operators من

Expression stack output

D - B + C D

- B + C - D

B + C - D B

+ C +

D B - C

D B – C +

+

D B -

C

+

Expression stack output

A * B + C * D A

* A

* A B

+

A B * C

A B * C

+

A B *

+ *

+ *

+ *

B + C * D

C * D

* D

D A B * C D

A B * C D * +

* B + C * D

+ C * D

، إنهــا الحقيقــة داامــاقــل

أسهل شيء يمكن تذكره

Dec 2015

eng-hs.netنبزةاوةنق لكنعلىنلةمة سنلاتناكمنقعنمجاسا نمننتسلما نستس نلكتلونسة نال

61862999باكتسودابنأتسفلنبةاسننناكجمعة ناكوئةتسة أننلصنةونن61941842أما ناكهسدتس نأتسفلنصاكنننوسة نناكفوعفينتلنمننلصنةونمجاسا ناكسنلاتنملنفوةن

net.hs-eng ,com.hs-engنباكمنقعةننمجاسا ناكسنلاتنملنفوةن hs.com-enginfo@ (11 )ن 9 4444 260 .نحمادةنشعبان

يـــة الـتـالــصفحة الـحل في الـتــابع

Expression stack output

( A + B ) * C – D * F + C

(

A + B ) * C – D * F + C ( A

+ B ) * C – D * F + C ( + A

B ) * C – D * F + C ( + A B

) * C – D * F + C A B +

* C – D * F + C * A B +

C – D * F + C * A B + C

– D * F + C - A B + C *

D * F + C - A B + C * D

* F + C A B + C * D

F + C A B + C * D F

+ C A B + C * D F * -

C + A B + C * D F * - C

+ A B + C * D F * – C +

- * +

- *

- *

( +

ــــي ــــاجح هــــو ف الشــــخن ال

األســـاس شـــخن يســـتطيع أن

يتخيل ويحول خياله إلى واقع

Dec 2015

eng-hs.netنبزةاوةنق لكنعلىنلةمة سنلاتناكمنقعنمجاسا نمننتسلما نستس نلكتلونسة نال

61862999باكتسودابنأتسفلنبةاسننناكجمعة ناكوئةتسة أننلصنةونن61941842أما ناكهسدتس نأتسفلنصاكنننوسة نناكفوعفينتلنمننلصنةونمجاسا ناكسنلاتنملنفوةن

net.hs-eng ,com.hs-engنباكمنقعةننمجاسا ناكسنلاتنملنفوةن hs.com-enginfo@ (11 )ن 9 4444 260 .نحمادةنشعبان

Expression stack output

( A - 2 ) * ( B + C - D * E ) * F (

A - 2 ) * ( B + C - D * E ) * F ( A

- 2 ) * ( B + C - D * E ) * F A

2 ) * ( B + C - D * E ) * F A 2

) * ( B + C - D * E ) * F A 2 –

* ( B + C - D * E ) * F * A 2 –

( B + C - D * E ) * F A 2 –

B + C - D * E ) * F A 2 – B

+ C - D * E ) * F A 2 – B

C - D * E ) * F A 2 – B C

- D * E ) * F A 2 – B C +

D * E ) * F A 2 – B C + D

* E ) * F A 2 – B C + D E

E ) * F A 2 – B C + D E

) * F A 2 – B C + D E * -

* F * A 2 – B C + D E * - *

F * A 2 – B C + D E * - * F A 2 – B C + D E * - * F *

*

* ( - *

* ( - *

* ( -

* ( + -

* ( +

* (

* ( +

* (

( -

( -

( -

، لعقــل يســتطيع اإلجابــة علــى األســ لةا

ن يجب على الخيال توجيهها أوالولك

Dec 2015

eng-hs.netنبزةاوةنق لكنعلىنلةمة سنلاتناكمنقعنمجاسا نمننتسلما نستس نلكتلونسة نال

61862999باكتسودابنأتسفلنبةاسننناكجمعة ناكوئةتسة أننلصنةونن61941842أما ناكهسدتس نأتسفلنصاكنننوسة نناكفوعفينتلنمننلصنةونمجاسا ناكسنلاتنملنفوةن

net.hs-eng ,com.hs-engنباكمنقعةننمجاسا ناكسنلاتنملنفوةن hs.com-enginfo@ (12 )ن 9 4444 260 .نحمادةنشعبان

. stackالـ باستخدام postfix الـإيجاد قيمة

.stack الـله داخل pushيتم عمل operandالفى ح (1

عملية الـوإجراء stackالـمن two operands لعدد popيتم عمل operator الفى ح (2

لل اتج. push عليهما ثم يتم عمل operand ـم ا رة للالـ

stack الـموجودة داخل الـ الوحيدة للقيمة pop يتم عمل expression ال انتهاءفى ح (3

اتج.الـ هيو

a)

Expression stack

2 3

22 3 * 4 – 5 +

3 * 4 – 5 +

* 4 – 5 +

4 – 5 +

– 5 +

5 +

+

6

2

6 4

2 5

7result

b)

Expression stack

2 3

22 3 4 + * 5 -

3 4 + * 5 -

4 + * 5 -

+ * 5 -

* 5 -

5 -

-

2 3 4

2 7

14

14 5

9result

نفس القدر من الخيال يمكن أن يحقغ

ال جاح أو الفشل وفقا لتوجيهك له

Dec 2015

eng-hs.netنبزةاوةنق لكنعلىنلةمة سنلاتناكمنقعنمجاسا نمننتسلما نستس نلكتلونسة نال

61862999باكتسودابنأتسفلنبةاسننناكجمعة ناكوئةتسة أننلصنةونن61941842أما ناكهسدتس نأتسفلنصاكنننوسة نناكفوعفينتلنمننلصنةونمجاسا ناكسنلاتنملنفوةن

net.hs-eng ,com.hs-engنباكمنقعةننمجاسا ناكسنلاتنملنفوةن hs.com-enginfo@ (13 )ن 9 4444 260 .نحمادةنشعبان

ي سخ محتوى يالتالكود الs2 إلى s1 ع اصر بدون حذف محتويات الب فس ترتيب.s2

void copyStack (Stack &s1, Stack &s2)

{

Stack s3;

int item;

while ( !s2.isEmpty ( ) )

{

item = s2.pop ( );

s3.push (item);

}

while ( !s3.isEmpty ( ) )

{

item = s3.pop ( );

s1.push (item);

s2.push (item);

}

10

20

30

S3 S1

10

20

30

S2

10

20

30

10

20

30 10

20

30

S2 S1

S3

كن ما يم يد ل خيال ا هو الحل الوح

أن نأمل في تحقيقه في المستقبل

Dec 2015

eng-hs.netنبزةاوةنق لكنعلىنلةمة سنلاتناكمنقعنمجاسا نمننتسلما نستس نلكتلونسة نال

61862999باكتسودابنأتسفلنبةاسننناكجمعة ناكوئةتسة أننلصنةونن61941842أما ناكهسدتس نأتسفلنصاكنننوسة نناكفوعفينتلنمننلصنةونمجاسا ناكسنلاتنملنفوةن

net.hs-eng ,com.hs-engنباكمنقعةننمجاسا ناكسنلاتنملنفوةن hs.com-enginfo@ (14 )ن 9 4444 260 .نحمادةنشعبان

محتويات التالي ي سخكود الـ sويلصقها فوق محتويات *this ترتيب بدون الـ ب فس

.sمسح محتويات

void Satck::catStack (Stack &s)

{

Stack temp;

int item;

while ( !s.isEmpty ( ) )

{

item = s.pop ( );

temp.push (item);

}

while ( !temp.isEmpty ( ) )

{

item = temp.pop ( );

s.push (item);

push (item);

}

}

int main ( )

{

Stack t, s;

…..

…..

t.catStack (s);

return 0;

}

60

50

40

temp S

60

50

40

*this

302010

605040

ق ثر حما ة ال يمك ك أن تص ع ما هو أك

ــغ ــب الطري ــى جان ــس عل مــن أن تجل

حاول مس حدهم وي كاعدتحتى يأتيك أ

Dec 2015

eng-hs.netنبزةاوةنق لكنعلىنلةمة سنلاتناكمنقعنمجاسا نمننتسلما نستس نلكتلونسة نال

61862999باكتسودابنأتسفلنبةاسننناكجمعة ناكوئةتسة أننلصنةونن61941842أما ناكهسدتس نأتسفلنصاكنننوسة نناكفوعفينتلنمننلصنةونمجاسا ناكسنلاتنملنفوةن

net.hs-eng ,com.hs-engنباكمنقعةننمجاسا ناكسنلاتنملنفوةن hs.com-enginfo@ (15 )ن 9 4444 260 .نحمادةنشعبان

فإنه sإلى أخريوإعادته مرة s1 إلى sواحد فقط ل قل محتوى stackاستخدام الفى ح (1

.ترتيبالـيعود ب فس

األمر ثم فى نهاية s2إلى s1 ومن ثم ي قل محتوى s1إلى s يقوم ب قل محتوى التاليكود الـ (2

s.إلى s2 ي قل محتوى

void reverseStack (Stack &s)

{

Stack s1, s2;

int item;

while ( !s.isEmpty ( ) )

{

item = s.pop ( );

s1.push (item);

}

while ( !s1.isEmpty ( ) )

{

item = s1.pop ( );

s2.push (item);

}

while ( !s2.isEmpty ( ) )

{

item = s2.pop ( );

s.push (item);

}

}

10

20

30

S S1

10

20

30

10

20

30

S1 S2

10

20

30

10

20

30

S2 S

10

20

30

الجميــع ي ســون هــذا األمــر

ـــــك ـــــن يحب األساســـــي: ل

اآلخــــرون إال إذا أحببــــتهم

Dec 2015

eng-hs.netنبزةاوةنق لكنعلىنلةمة سنلاتناكمنقعنمجاسا نمننتسلما نستس نلكتلونسة نال

61862999باكتسودابنأتسفلنبةاسننناكجمعة ناكوئةتسة أننلصنةونن61941842أما ناكهسدتس نأتسفلنصاكنننوسة نناكفوعفينتلنمننلصنةونمجاسا ناكسنلاتنملنفوةن

net.hs-eng ,com.hs-engنباكمنقعةننمجاسا ناكسنلاتنملنفوةن hs.com-enginfo@ (16 )ن 9 4444 260 .نحمادةنشعبان

ستخداميفضل ح (& call by reference) ا يتم (object parameters) الفى حتى ال

.(call by value) النسخ محتوياتها فى ح

يات عديل محتو تم ت نه إذا ح objects لكن يراعى أ لك (call by reference)الفى فإن ذ

صلية.األعلى محتوياتها يؤثرbool isEqual (Stack &s1, Stack &s2)

{

Stack s3, s4;

item x, y;

bool equal = true;

if ( s1.Count ( ) != s2.Count ( ) )

return false;

for ( int i = 1; i <= s1.Count ( ); i ++ )

{

x = s1.pop ( );

y = s2.pop ( );

if (x != y)

{

equal = false;

break;

}

}

while ( !s3.isEmpty ( ) )

{

x = s3.pop ( );

s1.push (x);

y = s4.pop ( );

s2.push (y);

}

return equal;

}

إن ــي علــى يقــين أن األمــور

ـــن أن يحققهـــا ـــة يمك العظيم

ــوا ــاديون إذا عمل أشــخاص ع

دا بكد وجهد ولم يستسلموا أب