Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void trenat(Cua &c)
- /* Pre: p.i. = C1, c = C2 */
- /* Post: el p.i. passa a ser el resultat de trenar C1 i C2; c passa a ser buida */
- {
- if (primer_node == NULL){ // La cua resultant es una copia de c
- primer_node = c.primer_node;
- ultim_node = c.ultim_node;
- longitud = c.longitud;
- } else { // La cua o bé sera el p.i si c == NULL o bé el trenat de les dues
- node_cua *n = primer_node;
- node_cua *m = c.primer_node;
- while (n != NULL and m != NULL){
- node_cua *aux = m;
- m = m->seguent;
- aux->seguent = n->seguent;
- n->seguent = aux;
- if (aux->seguent == NULL){
- n = NULL;
- aux->seguent = m;
- }
- else n = aux->seguent;
- }
- // Establim nova longitud del p.i
- longitud += c.longitud;
- }
- // Buidem c
- c.primer_node = NULL;
- c.ultim_node = NULL;
- c.longitud = 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement