Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • algorithmique/lib_2021_malaspinas/stack
1 result
Select Git revision
Show changes
Commits on Source (2)
#include <stdlib.h> #include <stdlib.h>
#include <stdbool.h>
#include <stdio.h>
#include "stack.h" #include "stack.h"
...@@ -75,3 +78,13 @@ int get_length(stack s) { ...@@ -75,3 +78,13 @@ int get_length(stack s) {
return s.top + 1; return s.top + 1;
} }
/**
* @brief Check if a stack is empty
*
* @param s
* @return bool - true if stack is empty, false otherwise
*/
bool stack_is_empty(stack s)
{
return s.top == -1;
}
\ No newline at end of file
#ifndef _STACK_H_ #ifndef _STACK_H_
#define _STACK_H_ #define _STACK_H_
typedef struct _stack { typedef struct _stack {
int *data; int *data;
int capacity; int capacity;
...@@ -17,6 +16,7 @@ void stack_pop(stack *s, int *value); ...@@ -17,6 +16,7 @@ void stack_pop(stack *s, int *value);
void stack_peek(stack s, int *value); void stack_peek(stack s, int *value);
void stack_clone(stack s, stack *clone); void stack_clone(stack s, stack *clone);
int get_length(stack s); int get_length(stack s);
bool stack_is_empty(stack s);
void stack_print(const stack s); void stack_print(const stack s);
......