summaryrefslogtreecommitdiff
path: root/src/01/06/min_stack.c
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-07-05 13:26:57 -0600
committermo khan <mo.khan@gmail.com>2020-07-05 13:26:57 -0600
commitc1eba569296eb591de1cae838e2d342f17ecb950 (patch)
tree99dd9d2ced425762739c5ebe5e7b2e0c33800fa7 /src/01/06/min_stack.c
parent15db180b1df02c73dc8632e5ae1eb0f29e2dceaa (diff)
Add formatted output to program profile
Diffstat (limited to 'src/01/06/min_stack.c')
-rw-r--r--src/01/06/min_stack.c16
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;