Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- stack *stack_duplicate(stack *s) {
- stack *s2 = stack_empty();
- if (s2 == NULL) {
- return NULL;
- }
- cstack **pp2 = &(s2 -> head);
- cstack *p = s -> head;
- while (p != NULL) {
- *pp2 = malloc(sizeof **pp2);
- if (*pp2 == NULL) {
- stack_dispose(&s2);
- return NULL;
- }
- (*pp2) -> value = p -> value;
- pp2 = &((*pp2) -> next);
- p = p -> next;
- }
- *pp2 = NULL;
- s2 -> height = s -> height;
- return s2;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement