Tecnología

Inicio

Cómo eliminar un C ++ corrupto Montón

Un montón es una estructura de árbol que se ajusta a una norma especial montón. La norma establece que el montón cada nodo del árbol tiene un valor inferior a su nodo padre. Los nodos son ubicaciones en el árbol que contiene los datos. Un montón almacena el nodo de mayor valor en el nodo raíz del árbol, mientras que los nodos de más bajo valor residen en el nivel más bajo del árbol. Un montón puede corromperse cuando otro proceso modifica los datos de forma que ya no se adhiere a la regla montón. En C ++, es posible crear y destruir montones uso de las funciones básicas.

Instrucciones

1 Cargar el IDE C ++ haciendo clic en el icono del programa. Cuando se abre, seleccione "Archivo / Nuevo / Proyecto" y elegir la opción "Proyecto ++ C" para crear un nuevo proyecto de C ++. Un archivo de código fuente en blanco en la parte editor de texto de la IDE.

2 Importe el "vector" y bibliotecas "algoritmo" escribiendo lo siguiente en la parte superior del archivo de código fuente:

importación <vector> Importar <algoritmo>

3 Declarar una función principal. Las funciones principales son los puntos de entrada del programa - donde el programa comienza la ejecución. Las llaves que siguen una función principal forman un bloque de código: Ellos encapsulan todo el código fuente para su función principal. Escribir la declaración de la función principal y el bloque de código como el siguiente:

int main ()
{}

4 Escribir el código fuente que se encuentra en los siguientes pasos dentro de los corchetes de la función principal.

5 Crear un contenedor de datos vectoriales. Los vectores son contenedores secuenciales que pueden cambiar automáticamente el tamaño sí mismos cuando se agregan datos a ellos. Para crear un nuevo vector, escribir la siguiente declaración:

vector <int> v ();

6 Añadir datos al vector usando la función "push_back". Por ejemplo, para agregar los números del 1 al 4 para el vector, escribir las siguientes líneas de código:

v.push_back (1);
v.push_back (2);
v.push_back (3);
v.push_back (4);

7 Reorganizar el vector para formar un montón. Un montón es una estructura de árbol en la que los "hijos" de un nodo son más bajos en valor; Por lo tanto, el nodo superior de un montón es el nodo con el mayor valor numérico - 4, en este ejemplo. Es posible utilizar el comando make_heap como este, que pasa en el principio y final del vector para incluir todos sus elementos:

make_heap (v.begin (), V.END ());

8 Retire todos los elementos de un montón si sospecha que se ha dañado. Para ello, puede utilizar la función "pop_heap" de esta manera:

pop_heap (v.begin (), V.END ());