当前位置: 首页>>代码示例>>C++>>正文


C++ Nodo::eliminarRegistro方法代码示例

本文整理汇总了C++中Nodo::eliminarRegistro方法的典型用法代码示例。如果您正苦于以下问题:C++ Nodo::eliminarRegistro方法的具体用法?C++ Nodo::eliminarRegistro怎么用?C++ Nodo::eliminarRegistro使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Nodo的用法示例。


在下文中一共展示了Nodo::eliminarRegistro方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: obtenerMayorDeLosMenores

Registro* ArbolBiselado::obtenerMayorDeLosMenores(Nodo* nodo){

	Nodo* nodoActual = nodo;
	while(true)
    {
        try
        {
            nodoActual = nodoActual->getHijoDerecho();
        }
		catch(NumeroDeBloqueInvalido e)
		{
		    break;
		}
		nodosARotar->apilar(nodoActual);
		movimientos->apilar('d');

	}
	//En caso de que el nodo hoja que contenia el registro sustituto
	//haya quedado vacio, lo desapilo para el biselado y elimino la duplicacion
	desapilarSiNodoQuedaVacio(nodoActual);

	//obtengo el registro original a eliminar
	Registro* original = nodoActual->getListaDeRegistros()->obtenerUltimo();

	//duplico su informacion en el que se insertara en el nodo que quedo vacio
	Registro* duplicado = new Registro(original->getID(),original->getCodigo(), original->getDescripcion());

	//elimino el original si no es el unico registro restante o es hoja
	if(nodoActual->getListaDeRegistros()->getTamanio() > 1 || nodoActual->esHoja()){

		 nodoActual->eliminarRegistro(original);

	} else //en caso de que no (esta es la recursion) y el nodo prestador a su vez
		//queda vacio le aplico recursion para que busque otra vez el menor de los mayores
		//o mayor de los menores y repita todo el proceso, mejor dicho.
	{
		//fijate que en el unico caso que hay que hacer recursion
		//es si caemos en un nodo interno con un solo registro
		// (A || B) == ¬A && ¬B.
		eliminarEnNodoInterno(original,nodoActual);
	}

	return duplicado;

}
开发者ID:MarianoCinalli,项目名称:OrganizacionDeDatosTP1,代码行数:45,代码来源:ArbolBiselado.cpp


注:本文中的Nodo::eliminarRegistro方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。