.


:




:

































 

 

 

 





 

Dynamic31Dynamic69 -

, ,

. -

,

, . Next

Prev -

, , ,

, (, -

Prev

Next ). , -

, : Barrier,

, Current, (

, ). Data -

;

0.

, .

Dynamic70Dynamic80 -

.

 

Dynamic70◦. P 1 P 2 -

, ,

( , P 1= P 2= nil). -

(. Dynamic55),

.

0 Next Prev -

( -

Next Prev

). .

-

.

Dynamic71. P 1 P 2 -

( . Dynamic70).



132


. . . Programming Taskbook 4.6

 

 

, -

.

,

( -

).

.

.


Dynamic72. P 1 P 2

( . Dynamic70). -

,

( -

).

( -

, ).

-

.

Dynamic73. P 1 P 2

( . Dynamic70). -

,

( -

).

( -

, ).

-

.

Dynamic74◦. P 1 P 2 -

( . Dynamic70).

N (> 0) N . TListB

Barrier Current PNode (

) LBInsertLast(L, D),

D L (L

TListB, D

). . -

(

) .

Dynamic75. P 1 P 2 -





 

 

. N (> 0) N -

. TListB (. Dynamic74),

LBInsertFirst(L, D), D

L (L TListB, D -

). .

(

) .

Dynamic76. P 1 P 2 -

. . TListB (. -

Dynamic74), LBInsertBefore(L, D), -

D L (L

TListB, D -

). .

.

Dynamic77. P 1 P 2 -

. . TListB (. -

Dynamic74), LBInsertAfter(L, D),

D L (L

TListB, D

). . -

.

Dynamic78◦. P 1 P 2 -

. TListB (. Dynamic74),

LBToFirst(L) ( -

L), LBToNext(L) ( L ),

LBSetData(L, D) ( L D

, )

IsBarrier(L) ( TRUE,

L , FALSE -

). L TListB; LBToFirst LBToNext

.

, -



134


. . . Programming Taskbook 4.6

 

 

.

;

.


Dynamic79. P 1 P 2 -

. TListB (. Dynamic74),

LBToLast(L) ( L),

LBToPrev(L) ( L ) -

LBGetData(L) ( -

L). L TListB; LBToLast

LBToPrev . -

, IsBarrier

Dynamic78, ,

.

. -

.

Dynamic80. P 1 P 2 -

, -

. TListB (. Dynamic74), -

LBDeleteCurrent(L) , L

(L -

TListB). ,

, .

, .

, -

0. ,

IsBarrier Dynamic78,

( , )

. .

 

 

(.NET)

 

Dynamic, -

.NET: C# Visual Basic

.NET.

, , .

Node.



(.NET)



 

 

Programming Taskbook (, pt4net.dll, -

PT4) :

:

public Node();

public Node(int aData);

public Node(int aData, Node aNext);

public Node(int aData, Node aNext, Node aPrev);

( ):

public int Data;

public Node Next;

public Node Prev;

, , -

:

public void Dispose();

Dynamic1Dynamic2,

(Dynamic3Dynamic28) Node -

Prev (. Dynamic1); -

(Dynamic29Dynamic80) Node

(. Dynamic29).

.NET ,

, ,

, -

Node, (

Put PT, pt4net.dll).

, , -

, 1.

null ( C#).

Dynamic1. A 1 Node, Data

Next Node. Next

A 2 ( Node). Data

, A 2.

Dynamic2◦. A 1 Node.

Next Node, , , -

, Next, null (-



136


. . . Programming Taskbook 4.6

 

 

, ).

Data , (

) .


 

 

 

Dynamic3Dynamic13 (stack) -

- Node (. Dynamic2).

Next null. (top)

. -

Node ( -

null).

Data.

 

Dynamic3◦. D A 1 .

D A 2 .

Dynamic4. N (> 0) N . , -

( ),

.

Dynamic5◦. A 1 . (-

) D, A 2

. ,

A 2= null.

, , Dispose.

Dynamic6. A 1 , .

. -

.

, ,

Dispose.

Dynamic7. A 1 ( , A 1= null).

.

N ( 0). -

, ,

Dispose.

Dynamic8◦. A 1 A 2 .

(

, )



(.NET)



 

 

.

Node .

Dynamic9◦. A 1 A 2 . -

,

( -

, ).

,

. -

( ,

null). Node .

Dynamic10◦. A 1 . ,

, (

, ; -

).

( null). Node

.

Dynamic11◦. A 1 ( , A 1= null).

N (> 0) N . IntStack,

:

top Node ( );

aTop ;

Push(D), -

D (D );

Put ( ), top,

Put PT.

Push -

( )

, Put IntStack.

Dynamic12◦. A 1, .

IntStack (. Dynamic11) Pop -

( ), ()

, Dispose.

Pop -

. (

, -



138


 

 

null).


. . . Programming Taskbook 4.6


Dynamic13. A 1 . IntStack (.

Dynamic11) : IsEmpty ( TRUE,

, FALSE ) Peek (-

, ).

. , Pop

Dynamic12, (

, )

. IsEmpty -

, ,

.

 

 

 

Dynamic14Dynamic28 (queue) -

- Node (. Dynamic2).

Next null. (-

, head) , (, tail)

.

, ,

. -

null. ,

Data.

 

Dynamic14. 10 . ,

(

, ), A 1 A 2

.

Dynamic15. 10 . : -

(1, 3,..., 9),

(2, 4,..., 10);

.

, .

Dynamic16. 10 . : -

,

(

). ,



(.NET)



 

 

( ;

null).

Dynamic17. D A 1 A 2 (

, A 1= A 2= null). -

D

.

Dynamic18. D A 1 A 2 , -

. D

() . -

,

.

Dispose.

Dynamic19. N (> 0) A 1 A 2 -

. N

( N ,

).

( null).

Dispose.

Dynamic20. A 1 A 2 . -

,

, ( -

,

).

( null).

Dispose.

Dynamic21. ; A 1 A 2,

A 3 A 4( ,

null). (

)

. Node

.

Dynamic22. N (> 0) ;

A 1 A 2, A 3 A 4. N

.

N , -

. ,



140


. . . Programming Taskbook 4.6

 

 

( null).

Node .


Dynamic23. ; A 1

A 2, A 3 A 4.

,

( ,

).

, (

null). Node .

Dynamic24. ; A 1 A 2,

A 3 A 4. .

, -

( ).

. Node

.

Dynamic25◦. ; A 1

A 2, A 3 A 4.

( ). -

.

. Node

, Data .

Dynamic26. A 1 A 2 (

, A 1 = A 2 = null). N (> 0)

N . IntQueue, :

head tail Node ( );

aHead, aTail -

;

Enqueue(D), -

D (D );

Put ( ), head

tail, Put PT.

Enqueue

,

Put IntQueue.

Dynamic27. A 1 A 2 , -

. IntQueue (.



(.NET)



 

 

Dynamic26) Dequeue ( ), -

() ,

Dispose. Dequeue

.

(

, null).

Dynamic28. A 1 A 2 .

IntQueue (. Dynamic26) IsEmpty

( ), TRUE, , FALSE

.

, Dequeue Dynamic27,

(

, ) .

IsEmpty

.

 

 

 

Dynamic29. A 2 Node, Data -

, Prev Next Node.

Prev A 2 ,

Next .

Data , A 1 A 3

.

Dynamic30◦. A 1 -

Node, Next. -

Prev , (-

) ,

( Next), -

( Prev). Prev

null. A 2 -

.

 

Dynamic31Dynamic69 (doubly

linked list) - Node,

, (. Dynamic30).

Next Prev



142


. . . Programming Taskbook 4.6


 

 

null.

,

: (first),

(last) (current). -

null. ,

Data.

 

Dynamic31. A 0 -

. N , A 1

A 2 .

Dynamic32. D 1 D 2 A 0

. -

D 1, D 2.

.

Dynamic33. D A 0 -

.

D .

Dynamic34. D A 0 -

.

D .

Dynamic35. A 1 A 2 -

, .

(

)

.

Dynamic36. A 1 A 2 -

, .

(

)

.

Dynamic37. A 1 . -

(

)

.

Dynamic38. A 1 . -

(

)



(.NET)

 

 

.



Dynamic39. A 1 . -

(

)

.

Dynamic40. A 1 . -

(

)

.

Dynamic41. A 0 -

. : ,

, ,

( ;

null).

Dispose.

Dynamic42. A 1 , -

. -

.

Dispose.

Dynamic43. A 1 .

(

, null).

Dispose.

Dynamic44. A 0 -

.

.

Node , Data .

Dynamic45. A 0 -

.

.

Node , Data .

Dynamic46. K (> 0) A 0

. K

( K ,

). -



144


. . . Programming Taskbook 4.6

 

 

. Node

, Data .


Dynamic47. K (> 0) A 0

. K

( K ,

). -

. Node

, Data .

Dynamic48. A X A Y

( A X A Y, -

).

.

Node , Data .

Dynamic49◦. A 1 . -

,

( )

. Node ,

Data .

Dynamic50. A 1 . -

, -

( )

. Node ,

Data .

Dynamic51. -

: A 1 A 2 , A 0 -

. , -

( ) ,

.

Node .

Dynamic52. -

: A 1 A 2 , A 0

. ,

( ) -

,

. Node .

Dynamic53. A X A Y -



(.NET)



 

 

; A X A Y,

. ,

( ), (

).

. , -

null. Node

.

Dynamic54. A X A Y -

; A X A Y,

. ,

( ), (

).

. ,

null. Node .

Dynamic55◦. A 1 . -

, Next

, Prev

. ,

.

Dynamic56. A 1 A 2

, . -

(. Dynamic55),

, -

. A 3 A 4

( A 3 -

, A 4 ). Node .

Dynamic57. K (> 0) A 1 A 2

.

K ( -

)

.

(. Dynamic55),

, K. -

Node .

Dynamic58. K (> 0) A 1 A 2

.



146


. . . Programming Taskbook 4.6

 

 

K (

)

.

(. Dynamic55),

, K.

Node .


Dynamic59◦. A 1, A 2 A 3 , -

( ,

A 1= A 2= A 3= null). N (> 0) N .

IntList, :

first, last, current Node (,

);

aFirst, aLast, aCurrent , -

;

InsertLast(D), -

D (D ,

);

Put ( ), first,

last current, Put PT.

InsertLast

( ) ,

, Put

IntList.

Dynamic60. A 1, A 2 A 3 , -

( ,

A 1 = A 2 = A 3 = null). N (> 0) N .

IntList (. Dynamic59) InsertFirst(D),

D (D

). -

. InsertFirst

(

) ,

.

Dynamic61. A 1, A 2 A 3 , -

. .

IntList (. Dynamic59) InsertBefore(D),



(.NET)



 

 

D -

(D ).

. InsertBefore

,

.

Dynamic62. A 1, A 2 A 3 , -

. .

IntList (. Dynamic59) InsertAfter(D),

D -

(D ).

. InsertAfter

,

.

Dynamic63◦. A 1, A 2 A 3 , -

. IntList (. -

Dynamic59) ToFirst (

), ToNext ( ,

), SetData(D) ( -

D ), IsLast (

TRUE, ,

FALSE ). ToFirst, ToNext IsLast

; D SetData

.

-

, ,

.

Dynamic64. A 1, A 2 A 3 , -

. IntList (.

Dynamic59) ToLast ( -

), ToPrev ( , -

) GetData (

), IsFirst ( TRUE, -

, FALSE

). .

,

. .



148


. . . Programming Taskbook 4.6


 

 

Dynamic65. A 1, A 2 A 3 , -

, .

IntList (. Dynamic59) DeleteCurrent

( ), -

.

, , -

. DeleteCurrent -

Dispose. DeleteCurrent

. -

,

( null).

Dynamic66. A 1, A 2 A 3 , -

. IntList (.

Dynamic59) Split(L 1, L 2), -

L 1 L 2

( , L 1 , -

). IntList;

, . -

.

Node Split .

,

( null).

Dynamic67. ,

. IntList (.

Dynamic59) Add(L 1, L 2), -

L 1( ) L 2;

L 1 . -

.

IntList .

Node Add .

,

.

Dynamic68. ,

. IntList (.

Dynamic59) Insert(L 1, L 2), -



(.NET)



 

 

L 1( ) L 2

; L 1 .

L 2 .

IntList .

Node Insert . -

, -

.

Dynamic69. ,

( ).

IntList (. Dynamic59)

MoveCurrent(L 1, L 2), L 1

L 2( L 2

; L 1 -

, , ).

IntList .

Node MoveCurrent .

,

( null).

 

 





:


: 2016-11-12; !; : 1856 |


:

:

, , .
==> ...

1571 - | 1475 -


© 2015-2024 lektsii.org - -

: 0.529 .