This commit is contained in:
2025-12-03 23:33:00 +01:00
parent 9bc260a750
commit 259a9b1e09
6 changed files with 9 additions and 32 deletions

View File

@@ -1,5 +1,5 @@
GPP = /usr/bin/g++
OPTS = -Wall -Wno-deprecated -g -std=c++17
OPTS = -Wall -Wno-deprecated -O2 -std=c++17
a.out: diccionariocuacs.o cuac.o fecha.o tablahash.o nodo.o arbol.o
$(GPP) $(OPTS) main.cpp tablahash.o cuac.o fecha.o diccionariocuacs.o nodo.o arbol.o

View File

@@ -1,10 +1,5 @@
#include "diccionariocuacs.hpp"
DiccionarioCuacs::DiccionarioCuacs(int m) {
TablaHash th = TablaHash(m);
Arbol arbol = Arbol();
this -> tabla = th;
}
void DiccionarioCuacs::insertar(Cuac nuevo) {
Cuac* ref = tabla.insertar(nuevo);
arbol.insertar(ref);
@@ -31,7 +26,3 @@ void DiccionarioCuacs::date(Fecha f1, Fecha f2) {
int DiccionarioCuacs::elem() {
return tabla.elem();
}
DiccionarioCuacs::~DiccionarioCuacs() {
delete[] tabla.lista;
}

View File

@@ -12,8 +12,6 @@ class DiccionarioCuacs {
TablaHash tabla;
Arbol arbol;
public:
DiccionarioCuacs(int m);
~DiccionarioCuacs();
void insertar(Cuac nuevo);
void follow(string nombre);
void last(int n);

View File

@@ -7,8 +7,7 @@
#include "tablahash.hpp"
using namespace std;
// hay que redimensionar dinámicamente
DiccionarioCuacs dic = DiccionarioCuacs(1000);
DiccionarioCuacs dic;
void procesar_pcuac() {
Cuac nuevo;

View File

@@ -1,14 +1,6 @@
#include "tablahash.hpp"
TablaHash::TablaHash(int M) {
nElem = 0;
this -> M = M;
this -> lista = new list<Cuac>[M];
}
TablaHash::TablaHash() {
}
TablaHash::~TablaHash() {
nElem = 0;
}
Cuac* TablaHash::insertar(Cuac nuevo) {
@@ -47,7 +39,7 @@ unsigned int TablaHash::h(string clave) {
for (int i = 0; i < (int) clave.length(); i++) {
res = 67 * res + clave[i];
}
return res % M;
return res % TH_TAM;
}

View File

@@ -5,18 +5,15 @@
#include <iostream>
#include <string>
using namespace std;
#define TH_TAM 997
class TablaHash {
private:
friend class DiccionarioCuacs;
int nElem;
int M;
list<Cuac> *lista;
list<Cuac> lista[TH_TAM];
public:
TablaHash();
TablaHash(int M);
~TablaHash();
Cuac* insertar(Cuac nuevo);
void consultar(string nombre);
unsigned int h(string clave);