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;
}