Programação  
 
Conhecimento computador >> Programação >> Programação De Computador Idiomas >> 
Como implementar Priority Queue Classe Usando Matriz
armazena dados de uma fila em sequência e contém duas funções: push e pop . Empurrar coloca um item no fim da fila ; pop remove o artigo na frente e devolve -lo . A fila de prioridade se comporta da mesma forma, com uma diferença: empurrão adiciona itens para a fila em uma determinada ordem . Arrays não são ideais para uma fila de prioridade , pois eles carecem de flexibilidade , o que torna difícil para classificar a fila. No entanto, eles são úteis para aprender o conceito. Instruções
1

Escolha digitar os dados a fila de prioridade se mantém. Se esta é sua primeira vez que escrevo uma fila de prioridade , escolha algo simples, como um número inteiro.
2

Criar uma matriz para servir como sua fila. Se o seu tipo de dados é inteiro , e que você deseja manter 10 itens , a matriz será criado usando um código como este :

int [ ] arr = new int [ 10];

Tenha em importa que 0 é o primeiro índice de qualquer matriz. Para acessar o primeiro índice de arr, você remete ao arr [0] , e arr [ 9] seria acessar o último índice do arr. Neste caso, arr [ 10] causa um erro.
3

Determine a função de classificação . Ele vai ser usado mais tarde para empurrar itens na ordem correta . Esta função tem duas entradas , em seguida, compara -los. Se a primeira entrada tem um valor mais alto , a função retorna 1 , se ambas as entradas tiverem o mesmo valor , que retorna 0 , e se o primeiro de entrada tem um valor inferior , que retorna -1 . Se esta é sua primeira vez de escrever uma função de classificação , e seu tipo de escolha de dados é inteiro , você deve começar com a ordem numérica, em que os números mais baixos têm um valor menor. Classificação por valor numérico , o código será parecido com este :

if ( primeiro > segundo) return 1 ;

if ( primeiro == segundo) return 0;

if ( primeiro < segundo) retornar -1 ;

Isso também funciona para outros tipos de dados , tais como o número de duplas e carros alegóricos . Se você estiver usando cordas, você pode classificar por ordem alfabética.
4

Inicie a função push . Isso leva uma entrada, o item para empurrar na fila , e gera nada . Em Java, se o seu tipo de dados é inteiro , seu código será parecido com este :

impulso public void (int in)

Seu código será semelhante na maioria das outras linguagens de programação , incluindo C e C + + . " Vazio " significa que esta função irá imprimir nada .
5

Criar uma matriz do mesmo tamanho que a matriz que você usa para a sua fila . Se sua matriz atual pode armazenar 10 números inteiros , você vai criar uma matriz assim:

int [ ] = new int secondArray [10];

Esta segunda série , mais tarde, tornar-se sua fila. Se a última entrada na sua matriz está cheio , isso significa que você tem usado cada entrada na matriz ; . Você deveria criar uma matriz que é uma entrada maior
6

Comparar a entrada para cada item em sua matriz, começando com o primeiro , usando a função de classificação . Sempre faça a entrada de impulso o primeiro item que você coloca na função de classificação . Para comparar a entrada do impulso eo primeiro item do arr, seu código será parecido com este :

espécie (em , arr [ 0]);

Aqui , "in" é o nome dado a a variável de entrada a partir do passo 4

Se isso retorna -1, entrada do impulso colocou na segunda matriz: .

secondArray [0] = em ;

Caso contrário , copie o item da primeira matriz para a segunda matriz:

secondArray [0] = arr [ 0];

em seguida, compare a entrada de impulso para o próximo item na primeira matriz:

tipo (em , arr [1] );

Continue até a entrada do impulso está inserido na segunda matriz ou até que não haja mais itens na primeira matriz . Neste último caso , a entrada lugar de impulso como o próximo item na segunda matriz.
7

Copie o resto dos itens da primeira matriz para a segunda matriz. Agora entrada desse impulso foi colocado no segundo array, você não tem nenhuma necessidade para a função de classificação . De agora em diante , use a segunda matriz , em vez de o primeiro , a primeira matriz é agora ultrapassada . Com isso, a função push está completa.
8

Escreva a função pop. Isso leva nenhuma entrada , mas ele gera um item de sua fila. Se o seu tipo de dados é inteiro , seu código será parecido com este :

public int pop ()

A segunda palavra , "int ", significa que esta função irá imprimir um inteiro < br. >
9

Crie uma segunda matriz do mesmo tamanho que a sua gama atual. Em seguida, copie o segundo item da primeira matriz para a primeira entrada na segunda matriz , o terceiro item na segunda entrada do segundo array, e assim por diante e assim por diante, até que não haja mais entradas . Não copie o primeiro item da primeira matriz . Se a sua matriz contém quatro itens , o código será parecido com este :

secondArray [0] = arr [1];

secondArray [1] = arr [ 2];

secondArray [2] = arr [3];

Lembre-se que o primeiro índice de uma matriz é 0. Isso significa que secondArray [0] é o primeiro item de secondArray e arr [ 1] é o segundo item de arr.
10

retornar o primeiro item da primeira matriz . Seu código será parecido com este :

retornar arr [ 0];

Tal como acontece com a função de empurrar, a segunda matriz é agora a sua fila. A função pop está concluída.

Anterior :

Próximo : No
  Os artigos relacionados
·Função de AS3 classe Sprite 
·Como converter ASPX para ASCX 
·A diferença entre SOAP e Web Service RESTO 
·Como usar o CLR Profiler 
·Definição de COBOL Comp -3 
·Como Pular uma linha em MATLAB 
·O que é um RSE em LabVIEW 
·Como vincular propriedades de objeto a um FormView 
·Como verificar o intervalo de datas em COBOL 
·Como aumentar um vetor no MATLAB 
  Artigos em destaque
·Como compilar o código C + G+ Com 
·Rampa Filtro em MATLAB 
·Como acessar podcasts de vídeo com o iPhone SDK 
·Como ler uma linha usando CPP 
·Como usar linguagem C para calcular juros compostos 
·Como renderizar um círculo em OpenGL 
·Como fazer um Mashup Web 
·Como automatizar o Visio com o PowerShell 
·Características do Turbo C 
·Como escrever declarações de dados 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados