Programiranje u C-u

  

Praktična vježba 12: Liste

1. Definiraj  strukturu nazvanu node, koja sadrži element tipa integer nazvan data, i pokazivač na strukturu tipa node nazvan next_node.

2. Deklariraj tri strukture nazvane node1, node2, node3, tipa node.

3. Napiši C izraz koji će povezati tri strukture, sa node1 na vrhu liste, node2 drugim, i sa node3 na kraju liste. Dodijeli vrijednost NULL  node3.next-u da označi kraj liste.

4. Koristeći pokazivač list, tipa node, koji je inicijaliziran na adresi za node1, napiši C izraz koji će kružiti kroz listu i ispisati vrijednost svakog čvora polja podataka.

5. Pretpostavljajući da pokazivač list pokazuje na node2, što radi slijedeći izraz?

        list->next_node = (struct node *) NULL;
6. Pretpostavljajući da je stanje liste kao u točki 3.,napiši C izraze koji će ubaciti novi čvor node1a između čvorova node1 and node2, koristeći pokazivač list (koji trenutno pokazuje na node1). Pretpostavi da pokazivač new_node pokazuje na čvor node1a.

7. Napiši funkciju nazvanu delete_node, koja prihvaća pokazivač na listu i pokazivač na čvor koji će biti izbrisan iz liste, npr.

        void  delete_node(  struct  node  *head,  struct  node  *delnode );
8. Napiši funkciju nazvanu insert_node, koja prihvaća pokazivač na listu, pokazivač na novi čvor koji će biti ubačen i pokazivač na čvor nakon kojeg dolazi do ubacivanja, npr.
        void insert_node( struct node *head, struct node *newnode, struct node *prevnode );
Rješenja

©Copyright B Brown. 1984-1998. All rights reserved.