-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbid_stack.h
More file actions
80 lines (72 loc) · 2.11 KB
/
bid_stack.h
File metadata and controls
80 lines (72 loc) · 2.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*
* TITLE: PROGRAMMING II LABS
* SUBTITLE: Practica 2
* AUTHOR 1: Ruben Seoane Iglesias LOGIN 1: r.seoane.iglesias
* AUTHOR 2: Anton Lopez Nunez LOGIN 2: anton.lopez.nunez
* GROUP: *2.4*
* DATE: 29/04/2022
*/
#ifndef BID_STACK_H
#define BID_STACK_H
#include "types.h"
#include <stdbool.h>
#define SNULL -1
#define SMAX 25
typedef struct {
tUserId bidder;
tProductPrice productPrice;
} tItemS; //Declaramos el tipo tItemS,
typedef int tPosS;
typedef struct stack {
tItemS data [SMAX];
tPosS top;
} tStack;
void createEmptyStack (tStack *stack);
/*
Objetivo: Crear una pila vacia e inicializarla
Entradas:
Stack: Una pila tipo tStack
Salidas:
Stack: Pila inicializada
Postcondiciones: La pila no tiene elementos
*/
bool push (tItemS d, tStack *stack);
/*
Objetivo: Inserta un elemento encima de la pila.
Devuelve un valor True si el elemento fue apilado, y un valor False en caso contrario
Entradas:
Item: Contenido del elemento a insertar (variable d tipo tItemS)
Stack: Pila donde vamos a insertar
Salidas:
Stack: Pila con el elemento Item insertado
Bool: Devuelve verdadero si se ha podido insertar, falso en caso contrario.
Precondiciones: La pila está inicializada
*/
void pop (tStack *stack);
/*
Objetivo: Elimina de la pila el elemento situado en la cima.
Entradas:
Stack: Pila donde se va a eliminar el elemento (Por referencia, para que se mantengan los cambios)
Salidas:
Stack: Pila sin el elemento que acabamos de eliminar
Precondiciones: La pila esta inicializada y no esta vacia
*/
tItemS peek (tStack stack);
/*
Objetivo: Recupera el elemento de la cima de la pila sin eliminarlo
Entradas:
Stack: Pila de la cual vamos a recuperar el elemento
Salidas:
Item: Elemento que hemos recuperado de la cima de la pila
Precondiciones: La pila esta inicializada y no esta vacia
*/
bool isEmptyStack (tStack stack);
/*
Objetivo: Determina si una pila esta vacia o no
Entradas:
Stack: Pila que queremos analizar
Salidas:
Bool: Devuelve verdadero si la pila esta vacia, falso si no lo esta.
Precondiciones: La pila esta inicializada
*/
#endif