Une file d'attente stocke les données dans l'ordre et contient deux fonctions : push et pop . Poussez les lieux d'un élément à la fin de la file d'attente; pop supprime l'élément à l'avant et le renvoie. Une file d'attente de priorité comporte de façon similaire , avec une différence : push ajoute des éléments à la file d'attente dans un certain ordre . Les tableaux ne sont pas idéales pour une file de priorité , ils manquent de flexibilité , ce qui rend difficile de trier la file d'attente . Cependant, ils sont utiles pour l'apprentissage du concept . Instructions 1 Choisissez le type de données de votre file d'attente prioritaire détient . Si c'est votre première fois que j'écris une file de priorité , choisissez quelque chose de simple , comme un entier. 2 créer un tableau pour servir de votre file d'attente. Si votre type de données est un entier , et que vous souhaitez conserver 10 articles , votre tableau sera créé en utilisant le code comme ceci : int [ ] arr = new int [ 10]; Gardez à l' Rappellez-vous que 0 est le premier indice d'un tableau. Pour accéder au premier indice de arr, vous souhaitez consulter arr [ 0], et arr [ 9] seraient accéder au dernier indice de arr. Dans ce cas, arr [ 10] provoque une erreur. 3 déterminer la fonction de tri. Il sera utilisé plus tard pour pousser éléments dans le bon ordre. Cette fonction prend deux entrées , puis les compare . Si la première entrée a une valeur plus élevée, la fonction retourne 1 , si les deux entrées ont la même valeur , il renvoie 0 , et si la première entrée a une valeur plus basse, elle retourne -1 . Si c'est votre première fois que j'écris une fonction de tri , et votre type de choix de données est entier , vous devriez commencer par ordre numérique , dans lequel les nombres inférieurs ont une valeur inférieure. Tri par valeur numérique , le code ressemblera à ceci : if ( premier > seconde) return 1; if ( premier == seconde) return 0; if ( premier < seconde) retournera -1 ; Cela fonctionne aussi pour d'autres types de données numériques , tels que les doubles et les flotteurs . Si vous utilisez des chaînes , vous pouvez trier par ordre alphabétique . 4 démarrer la fonction Push . Cela prend une entrée , le point de pousser sur la file d'attente , et n'affiche rien . En Java , si votre type de données est entier , votre code ressemblera à ceci : poussée public void (int IN): Votre code sera similaire dans la plupart des autres langages de programmation , y compris C et C + +. « Void » signifie que cette fonction n'affichera rien . 5 créer un tableau de la même taille que le tableau que vous utilisez pour votre file d'attente. Si votre réseau actuel peut contenir 10 entiers , vous allez créer un tableau comme celui-ci : int [ ] = new int secondArray [10]; Ce second tableau deviendra plus tard la file d'attente . Si la dernière entrée dans votre tableau est complet , cela signifie que vous avez utilisé chaque entrée dans le tableau , vous devriez plutôt créer un tableau qui est une entrée plus 6 comparer l'entrée de chaque élément. dans votre tableau, en commençant avec la première , en utilisant la fonction de tri . Assurez-vous toujours l'entrée de pousser le premier élément que vous placez dans la fonction de tri. Pour comparer l'apport de poussée et le premier élément de arr, votre code ressemblera à ceci : genre (en , arr [ 0]); , "in" est le nom donné à la variable d'entrée à partir de l'étape 4 Si elle retourne -1 , mettez l'entrée de pression dans le deuxième tableau: . secondArray [0] = in ; , copier l' élément du premier ensemble dans le second tableau: secondArray [0] = arr [ 0]; Ensuite, comparez l'entrée de pousser à l'élément suivant dans la première rangée : trier (en , arr [ 1]); Continuer ainsi jusqu'à ce que l'entrée de poussée est insérée dans le second tableau ou jusqu'à ce qu'il n'y plus d'articles dans le premier tableau. Dans ce dernier cas , l'entrée du lieu poussée que l'élément suivant dans le deuxième tableau. 7 Copiez le reste des éléments du premier tableau dans le second tableau. Maintenant, l'entrée de cette poussée a été placé dans le deuxième tableau, vous n'avez pas besoin de la fonction de tri . A partir de maintenant , utilisez le second tableau plutôt que le premier , le premier tableau est maintenant à jour. Avec cela, la fonction Push est terminée. 8 écrire la fonction pop . Cela ne prend pas les entrées, mais il affiche un élément de votre file d'attente. Si votre type de données est entier , votre code ressemblera à ceci : public int pop () Le deuxième mot , " int ", signifie que cette fonction va afficher un entier < br . > Photos 9 Créer un second réseau de la même taille que votre gamme actuelle . Ensuite , copier le deuxième élément de la première matrice dans la première entrée de la deuxième matrice , le troisième point à la deuxième entrée de la deuxième matrice , et ainsi de suite , et ainsi de suite , jusqu'à ce qu'il n'y ait plus d'entrées . Ne copiez pas le premier élément de la première rangée . Si votre tableau contient 4 articles, votre code ressemblera à ceci : secondArray [0] = arr [ 1]; secondArray [1] = arr [ 2]; < p> secondArray [2] = arr [ 3] ; Rappelons que le premier indice d'un tableau est 0. Cela signifie que secondArray [0] est le premier élément de secondArray et arr [ 1] constitue le deuxième point de arr. 10 renvoyer le premier élément de la première rangée . Votre code ressemblera à ceci : retour arr [ 0]; avec la fonction Push , le deuxième réseau est désormais votre file d'attente. La fonction pop est maintenant terminée.
|