.


:




:

































 

 

 

 





, .15.

15.

 

1. : list* ptr = new list.

 
ptr

2.
 
 
ptr

3. , : head = ptr.
head

4. ,  
4.1. : ptr -> next = head.
 
 
ptr
 

4.2. : head -> back = ptr.
       
   
 
 
ptr

4.3. : head = ptr.
 
 
ptr

 


int val;

list head;

 

list* ptr = new list;

ptr->value = val;

ptr->next = NULL;

ptr->back = NULL;

if (head == Nil) head = ptr // ?

else

{

Ptr->next = head;

Head->back = ptr;

Head = ptr;

}

 

( ) :

int s

list tail;

 

list* ptr = new list;

ptr->value = val;

ptr->next = NULL;

ptr->back = NULL;

if (tail == NULL) tail = ptr // ?

else

{

tail->next = ptr;

prt->back = tail;

tail = ptr;

}

 

:

1. .

2. .

3. .

4. , , .

free(). 4, , (.16).

 

16.

1.   . : cur->back->next =cur->next;
cur->back->next
           
   
Cur->back
 
 
   
cur->next->back
 
Cur->next

2.  
cur->back->next  
. :

cur->next->back = cur->back;

 

       
   
 
cur
 
Cur->next

3.
cur->back->next  
tail: tail = cur;

           
   
Cur->back
 
 
   
cur->next->back  
 
Cur->next

4.
cur->back->next  
:

cur = cur->next;

           
   
Cur->back
 
 
   
cur->next->back  
 
Cur->next

5. , : free(tail);

cur

 


//

list head,tail,cur, temp;

 

// ?

 

if ((cur->next == NULL) && (cur->back = NULL))

{

head = NULL;

tail = NULL; //

free(cur);

cur = NULL; //

}

else

if (cur->next == NULL) // ?

{

tail = tail->back; //

tail->next = NULL;

free (cur);

cur = tail;

}

else

if (cur->back == NULL) // ?

{

head = head->next; //

head->back = NULL;

free (cur);

cur = head;

}

else // , ,

{

cur->back->next = cur->next;

cur->next->back = cur->back;

temp = cur;

cur = cur->next;

free (temp);

};

}





:


: 2016-10-22; !; : 1090 |


:

:

- , - .
==> ...

1490 - | 1411 -


© 2015-2024 lektsii.org - -

: 0.029 .