45 lines
675 B
C
45 lines
675 B
C
|
#include <stdlib.h>
|
||
|
|
||
|
typedef struct node
|
||
|
{
|
||
|
float Value;
|
||
|
struct node *Next;
|
||
|
}node;
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
node *Top;
|
||
|
}stack;
|
||
|
|
||
|
node *alloc_node(float Value, node *Next)
|
||
|
{
|
||
|
node *NewNode = malloc(sizeof(node));
|
||
|
NewNode->Value = Value;
|
||
|
NewNode->Next = Next;
|
||
|
|
||
|
return NewNode;
|
||
|
}
|
||
|
|
||
|
void push(stack *Stack, float Value)
|
||
|
{
|
||
|
// TODO: implement this
|
||
|
node *NewNode = alloc_node(Value, Stack->Top);
|
||
|
Stack->Top = NewNode;
|
||
|
}
|
||
|
|
||
|
float pop(stack *Stack)
|
||
|
{
|
||
|
// TODO: implement this
|
||
|
float Result = Stack->Top->Value;
|
||
|
node *Top = Stack->Top->Next;
|
||
|
free(Stack->Top);
|
||
|
Stack->Top = Top;
|
||
|
return Result;
|
||
|
}
|
||
|
|
||
|
node *peak(stack *Stack)
|
||
|
{
|
||
|
// TODO: implement this
|
||
|
return Stack->Top;
|
||
|
}
|