diff options
| author | mo khan <mo.khan@gmail.com> | 2020-07-05 13:26:57 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-07-05 13:26:57 -0600 |
| commit | c1eba569296eb591de1cae838e2d342f17ecb950 (patch) | |
| tree | 99dd9d2ced425762739c5ebe5e7b2e0c33800fa7 /src/01/06/min_stack.c | |
| parent | 15db180b1df02c73dc8632e5ae1eb0f29e2dceaa (diff) | |
Add formatted output to program profile
Diffstat (limited to 'src/01/06/min_stack.c')
| -rw-r--r-- | src/01/06/min_stack.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/01/06/min_stack.c b/src/01/06/min_stack.c index 7567cd6..867dce8 100644 --- a/src/01/06/min_stack.c +++ b/src/01/06/min_stack.c @@ -22,14 +22,12 @@ int size(Stack *self) { } void push(Stack *self, int data) { - if (self->min) { - if (data < self->min->data) { - Node *tmp = new(data); - tmp->next = self->min; - self->min = tmp; - } - } else { + if (!self->min) self->min = new(data); + else if (data < self->min->data) { + Node *tmp = new(data); + tmp->next = self->min; + self->min = tmp; } Node *node = new(data); @@ -72,10 +70,8 @@ int pop(Stack *self) { Node *current = self->head; int data = current->data; - if (data == self->min->data) { + if (data == self->min->data) self->min = self->min->next; - } - self->head = current->next; self->size--; current->next = NULL; |
