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.