#pragma once struct stack { int inf; stack *next; }; void push(stack *&h, int x) { stack *r = new stack; r->inf = x; r->next = h; h = r; } int pop(stack *&h) { int i = h->inf; stack *r = h; h = h->next; delete r; return i; } void reverse(stack *&h) { stack *head1 = NULL; while (h) push(head1, pop(h)); h = head1; }