Doubly Linked List C++, Danh sách liên kết kép c++

 

 

int

main

(

)

{

    

LinkedList

<

Person

>

data_list

;

    

Person

person1

(

“Pham A”

,

20

,

1

)

;

    

Person

person2

(

“Pham B”

,

20

,

0

)

;

    

Person

person3

(

“Pham C”

,

20

,

1

)

;

    

Person

person4

(

“Pham MID_BE”

,

20

,

0

)

;

    

Person

person5

(

“Pham MID_AF”

,

20

,

0

)

;

 

    

data_list

.

InsetFront

(

person1

)

;

    

data_list

.

InsetFront

(

person2

)

;

    

data_list

.

InsertBack

(

person3

)

;

 

 

    

std

::

cout

<<

”    Insert front and back \n\n”

;

    

NodeData

<

Person

>

*

p_head

=

data_list

.

head

(

)

;

    

if

(

p_head

!=

NULL

)

    

{

        

NodeData

<

Person

>

*

temp

=

p_head

;

        

while

(

temp

!=

NULL

)

        

{

            

temp

->

get_data

(

)

.

ShowInfo

(

)

;

            

std

::

cout

<<

“\n\n\n”

;

            

temp

=

temp

->

get_next

(

)

;

        

}

    

}

 

    

NodeData

<

Person

>

*

pHead

=

data_list

.

head

(

)

;

    

if

(

pHead

!=

NULL

)

    

{

        

NodeData

<

Person

>

*

pMid

=

pHead

->

get_next

(

)

;

        

if

(

pMid

!=

NULL

)

        

{

            

data_list

.

InsertBeforeNode

(

pMid

,

person4

)

;

            

data_list

.

InsertAfterNode

(

pMid

,

person5

)

;

 

            

std

::

cout

<<

”    Insert before and after node \n\n”

;

            

NodeData

<

Person

>

*

p_head

=

data_list

.

head

(

)

;

            

if

(

p_head

!=

NULL

)

            

{

                

NodeData

<

Person

>

*

temp

=

p_head

;

                

while

(

temp

!=

NULL

)

                

{

                    

temp

->

get_data

(

)

.

ShowInfo

(

)

;

                    

std

::

cout

<<

“\n\n\n”

;

                    

temp

=

temp

->

get_next

(

)

;

                

}

            

}

        

}

    

}

    

_getch

(

)

;

    

return

0

;

}