struct node {
int data;
struct node *next_node;
};2. Deklariraj tri strukture nazvane node1, node2, node3, tipa node.
struct node node1, node3, node3;3. Napiši C izraze koji će povezati tri čvora zajedno, sa node1 na vrhu liste, node2 drugim, i sa node3 na kraju liste. Dodijeli vrijednost NULL node3.next-u da označi kraj liste.
node1.next_node = &node2; node2.next_node = &node3; node3.next_node = (struct node *) NULL;4. Koristeći pokazivač list, tipa node, koji je inicijaliziran na adresi za node1, napiši C izraze koje će kružiti kroz listu i ispisati vrijednost svakog čvora polja podataka.
while( list != NULL ) { printf("%d\n", list->data ); list = list->next_node; }5. Pretpostavljajući da pokazivač list pokazuje na node2, što radi slijedeći izraz?
list->next_node = (struct node *) NULL; Izraz upisuje NULL u pokazivač next_node , što čini node2 krajem liste, i stoga briše node3 iz liste.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.
new_node.next_node = list.next_node;
list.next_node = new_node;
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 ); void delete_node( struct node *head, struct node *delnode ) { struct node *list; list = head; while( list->next != delnode ) { list = list->next; list->next = delnode->next; }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 ); void insert_node( struct node *head, struct node *newnode, struct node *prevnode ) { struct node *list; list = head; while( list != prevnode ) list = list->next; newnode->next = list->next; list->next = newnode; }