예제 #1
0
int Archivo::obtenerBloqueLibre (Bloque* &bloque, int &idBloque){
	if (cantidadBloquesLibres() > 0){
		std::vector<int>::iterator it = this->bloquesLibres.begin();
		//entrega el primer bloque libre de la lista
		idBloque = *it;
		obtenerBloque (bloque, idBloque);
		//una vez entregado lo elimina de la lista
		this->bloquesLibres.erase(it);
		return 0;
	}else
		return 1;

}
예제 #2
0
ArbolBMasNumerico::ArbolBMasNumerico(string path,
		unsigned int tamanioBloque) :
	ArbolBMas(path, tamanioBloque) {
	this->archivoNodos = new ArchivoBloques(path, tamanioBloque);

			this->tamanioNodo = tamanioBloque;

			if (Util().existeArchivo(path)){
				raiz = obtenerBloque(0);
			}
			else{
				raiz = new Bloque();
				guardarBloque(raiz, 0);
			}
			ultimaHojaVisitada = raiz;

}