“Conocimientos Programación>Lenguajes De Programación

Cómo implementar Priority Class colas mediante matriz

2013/6/24
Una cola almacena los datos en secuencia y contiene dos funciones: push y pop . Presione lugares un elemento al final de la cola , pop elimina el elemento de la parte delantera y la devuelve . Una cola de prioridad se comporta de manera similar, pero con una diferencia : push agrega elementos a la cola en un orden determinado . Las matrices no son ideales para una cola de prioridad , carecen de flexibilidad, por lo que es difícil de ordenar la cola. Sin embargo , son útiles para el aprendizaje del concepto . Instrucciones
1

Seleccione el tipo de datos de la cola de prioridad tiene . Si esta es tu primera vez que escribo una cola de prioridad , elegir algo simple, como un entero.
2

Crear una matriz para servir como su cola. Si el tipo de datos es un entero , y desea llevar 10 artículos , la matriz se creará utilizando código como el siguiente :

int [ ] arr = new int [ 10 ] ;

Tenga en importa que el 0 es el primer índice de una matriz. Para acceder al primer índice de arr, que le consulte arr [ 0 ] y arr [ 9 ] que acceder al último índice de arr . En este caso, la matriz [ 10 ] produce un error.
3

Determinar la función de clasificación . Se utilizará más adelante para empujar objetos en el orden correcto . Esta función tiene dos entradas , y luego los compara . Si la primera entrada tiene un valor más alto , la función devuelve 1 , si ambas entradas tienen el mismo valor , devuelve 0 , y si la primera entrada tiene un valor más bajo, se devuelve -1 . Si esta es tu primera vez que escribo una función de clasificación , y el tipo de elección de datos es entero , se debe comenzar con el orden numérico , en la que los números más bajos tienen un valor inferior. Clasificación por valor numérico , el código se verá así :

if ( primero > segundo ) return 1 ;

if ( primero == segundos ) return 0;

if ( primera < segundos ) return -1 ;

Esto también funciona para otros tipos de datos numéricos , como dobles y carrozas . Si está utilizando cuerdas , puede ordenar por orden alfabético .
4

Inicie la función de empuje. Este toma una entrada, el elemento para empujar en la cola , y las salidas nada . En Java, si el tipo de datos es entero , el código se verá así :

pública empuje void ( int )

Su código será similar en la mayoría de otros lenguajes de programación , incluyendo C y C + + . " Void " significa que esta función se emitirá nada .
5

Crear una matriz del mismo tamaño que la matriz que utiliza para su cola. Si la matriz actual puede contener 10 números enteros , se creará una matriz como esta:

int [ ] secondArray = new int [ 10 ] ;

Esta segunda serie se convirtió en más adelante la cola . Si la última entrada de la matriz está llena, esto significa que ha utilizado todas las entradas de la matriz, en su lugar debe crear una matriz que es una entrada más grande
6

Comparar la entrada de cada elemento. en su conjunto , empezando por el primero , utilizando la función de clasificación . Asegúrese siempre de entrada de impulso en el primer elemento se coloca en la función de clasificación . Para comparar la entrada de empuje y el primer elemento de arr , el código se verá así :

sort ( en , arr [ 0 ] ) ;

, "in" es el nombre dado a la variable de entrada del paso 4

Si esto devuelve -1 , puesto de entrada de impulso en la segunda matriz: .

secondArray [ 0 ] = en ;

contrario , copie el elemento de la primera matriz en la segunda matriz :

secondArray [ 0 ] = arr [ 0 ] ;

Luego compara la entrada de impulso para el siguiente elemento de la primera matriz:
< p > sort ( en , arr [ 1 ] ) ;

Continúe esto hasta que se inserta la entrada de empuje en la segunda matriz o hasta que no queden más elementos de la primera serie . En este último caso , la entrada de la casa de empuje como el siguiente elemento de la segunda matriz.
7

Copia el resto de los elementos de la primera serie en la segunda serie . Ahora la entrada de ese empuje se ha colocado en la segunda matriz , no tiene necesidad de la función de clasificación . A partir de ahora , utilice el segundo conjunto en vez de la primera, la primera matriz se ha quedado desfasado . Con esto, la función de empuje se ha completado.
8

Escribir la función pop. Esto tiene ninguna entrada , pero genera un elemento de la cola . Si el tipo de datos es entero , el código se verá así :

pop public int ()

La segunda palabra , "int ", significa que esta función se emitirá un entero < br . > Página 9

Crear una segunda matriz del mismo tamaño que la matriz actual. A continuación , copie el segundo elemento de la primera matriz en la primera entrada de la segunda serie , el tercer punto en la segunda entrada de la segunda serie , y así sucesivamente y así sucesivamente , hasta que no hay más entradas . No copie el primer elemento de la primera matriz. Si la matriz contiene 4 artículos , el código se verá así :

secondArray [ 0 ] = arr [ 1 ] ;

secondArray [ 1 ] = arr [ 2 ] ;
< p> secondArray [ 2 ] = matriz [ 3 ] ;

Recordemos que el primer índice de una matriz es 0 . Esto significa que secondArray [ 0 ] es el primer elemento de secondArray y arr [ 1 ] es el segundo elemento de arr .
10

devolver el primer elemento de la primera matriz. Su código se verá así :

regreso arr [ 0 ] ;

igual que la función de empuje, la segunda matriz es ahora su cola. La función pop se ha completado.

Lenguajes De Programación
Cómo desarrollar un GridView personalizado
Cómo insertar una imagen en MobiPocket
Cómo crear un tipo de datos en Umbraco
Cómo construir Comentario páginas web con Visual Studio
Cómo incrustar SQL en programas RPG
Alternativas a un hipervínculo
Cómo analizar con expresiones regulares
Cómo aprender Structured Query Language
Conocimientos Informáticos © http://www.ordenador.online