[ _shame_ @ 21.01.2006. 16:36 ] @
Moze li mi neko pojasniti ovaj kod….i ako jee moguce da ga prevede iz C u C++….bio bi jako zahvalan:)): #include <stdio.h> #include <stdlib.h> typedef struct ns { int data; struct ns *next; } node; node *list_add(node ** p, int i) { node *n =malloc(sizeof(*n)); n->next = *p; *p = n; n->data = i; return n; } void list_remove(node ** p) { if (p) { node *n = *p; *p = (*p)->next; free(n); } } node **list_search(node ** n, int i) { if (!n) return NULL; while (*n) { if ((*n)->data == i) { return n; } n = &(*n)->next; } return NULL; } void list_print(node * n) { if (!n) printf("list is empty\n"); while (n) { printf("print %p %p %i \n", n, n->next, n->data); n = n->next; } } int main(void) { node *n = NULL; list_add(&n, 0); list_add(&n, 1); list_add(&n, 2); list_add(&n, 3); list_add(&n, 4); list_print(n); list_remove(&n); list_remove(&n->next); list_remove(list_search(&n, 1)); list_remove(&n->next); list_remove(&n); list_print(n); return 0; } |