‫Et cette vidéo, nous allons couvrir Kyuss et nous allons voir comment utiliser les repères dans nos applications,
‫les repères sont importants et beaucoup utilisés par notre système d'exploitation, par exemple, pour gérer les tâches, la planification
‫et bien d'autres processus.
‫Les indices doivent être utilisés lorsque l'ordre des données est important, comme nous le verrons dans notre exemple.
‫Alors allons-y et tout d'abord, définissons une file d'attente afin de définir une file d'attente que vous pouvez utiliser pour faire la queue.
‫Les files d'attente de mots-clés font également partie des collections génériques, ce qui signifie que nous devons définir quelle file
‫d'attente de type A sera incorporée.
‫Donc, dans ce cas, il contiendra un tas d'entiers, mais il pourrait également contenir n'importe quel autre type.
‫Il pourrait contenir des ficelles, il pourrait même contenir l'objet entier.
‫Vous êtes donc entièrement libre de définir ce que vous voulez que cet élément contienne.
‫Donc filez puis moins que signez, intégrez et signez, puis le nom de la file d'attente est égal et vous pouvez
‫l'initialiser tout de suite comme nous le faisons ici, où nous créons simplement une file d'attente vide contenant des entiers.
‫OK, alors maintenant nous pouvons aller de l'avant et ajouter des éléments à cette file d'attente.
‫Afin d'ajouter des éléments à accuser, vous pouvez utiliser la méthode NQ.
‫La méthode NQ ajoute un objet à la fin de la file d'attente.
‫OK, donc si j'ajoute un élément comme celui-ci, par exemple, cet élément sera le premier car même si c'est le
‫premier que nous incluons, ce sera aussi le dernier.
‫OK, donc dès que nous en ajoutons un autre, le nouvel élément sera le dernier élément de la file d'attente.
‫OK, c'est ainsi que la commande se fait.
‫C'est similaire à une pile, mais la différence est qu'une file d'attente lorsque vous vous débarrassez de quelque chose, donc lorsque
‫vous faites éclater un élément, il va le reprendre depuis le début de la file d'attente.
‫Ainsi, l'autre élément créé en premier sera retiré ou sera retiré de la file d'attente, pour ainsi
‫dire.
‫OK, donc pour regarder les éléments Qs, nous pouvons utiliser la méthode des pics et cette méthode affichera le premier élément de la file d'attente, donc
‫le devant de la file d'attente, pour ainsi dire.
‫C'est donc comme une file d'attente de personnes où vous êtes au comptoir et vous voulez commander quelque chose, par exemple, alors
‫la méthode vous donnera la première personne de cette file d'attente qui est sur le point de commander.
‫OK, alors allons-y très vite et voyons à quoi cela va ressembler.
‫Et nous voyons que la valeur au début de la file d'attente est un.
‫Maintenant, ajoutons quelques valeurs supplémentaires pour voir comment cela va affecter notre application.
‫Donc, ici, je vais ajouter les différents éléments de la file d'attente, comme je vais terminer Q1 et Q2 et Q3 et j'utilise simplement
‫ces chiffres.
‫Un deux trois.
‫Ils pourraient également être n'importe quel autre nombre.
‫Pas vraiment besoin d'être un, deux, trois.
‫OK, donc avec le pic, nous obtenons l'élément qui se trouve au début de la file d'attente.
‫Vous pouvez voir à chaque fois, peu importe ce que nous ajoutons à la file d'attente, celui-ci sera notre premier élément dans
‫la file d'attente.
‫Ce sera donc celui affiché lorsque nous avions l'habitude de regarder la méthode.
‫Maintenant, afin de se débarrasser d'un élément de la file d'attente, vous utiliseriez la méthode de la file d'attente.
‫OK, donc ici vous ne faites pas la queue.
‫Ainsi, cette file d'attente va maintenant se débarrasser du premier entier de notre file d'attente et elle le stockera également tout de suite.
‫Nous pourrions donc stocker cet élément de file d'attente, par exemple, et il stockera ensuite le résultat de cet
‫élément de file d'attente.
‫Donc, en gros, il en stockera un parce que c'est le premier élément que nous avons dans la liste.
‫Et puis Pékin s'affichera aussi, car maintenant on n'y est plus.
‫Le premier élément a disparu.
‫Alors maintenant, la valeur dans la file d'attente sera deux car, eh bien, nous venons de découvrir le premier élément.
‫C'est donc similaire à pop in a stack, mais cela enlève l'élément au début de la file d'attente au lieu de la fin de la file
‫d'attente ou de la fin du bâton, quelle que soit la manière dont vous voulez le regarder.
‫Vous pouvez, bien sûr, également essayer de retirer un élément de la file d'attente au début, s'il n'y a
‫aucun élément à l'intérieur du cube, mais vous rencontrerez une exception d'opération non valide, la file d'attente est vide,
‫vous devrez donc vérifier si la file d'attente est vide ou non avant de l'exécuter.
‫Donc, ici, nous pouvons exécuter la méthode de la file d'attente parce que nous savons que nous venons de découvrir quelque chose.
‫Mais sinon, vous utiliseriez la propriété count de votre file d'attente afin de déterminer le nombre d'éléments que vous avez
‫là-bas.
‫C'est donc la propriété que vous pouvez utiliser, obtient le nombre d'éléments contenus dans la file d'attente et
‫vous pouvez ensuite vérifier si celui-ci est supérieur à zéro, par exemple, pour vérifier s'il y a quelque chose
‫dans la file d'attente que vous pouvez, par exemple , file d'attente.
‫OK, donc dans cet exemple particulier, je vais simplement continuer et utiliser my.
‫Q Compte pour vérifier dans une boucle while, et pour chaque élément, je vais le retirer de la file d'attente et également
‫noter le nombre d'éléments qui sont encore dans le Q ainsi que l'élément qui a été supprimé.
‫Donc, cette ligne ici supprimera l'élément en appelant la méthode dequeue et en même temps affichera
‫l'élément ici car c'est ce que nous utilisons ici.
‫Nous utilisons la chaîne.
‫Droit.
‫Et avec cette position zéro, il affichera quel que soit le résultat de l'appel de la file d'attente.
‫Et comme vous pouvez le voir ici, la méthode dequeue renverra un entier.
‫Nous allons donc afficher un nombre ici.
‫OK, alors permettez-moi de me débarrasser de cette mise en file d'attente que j'ai utilisée ici afin de montrer comment retirer un élément
‫de la file d'attente et réexécutez-le et vous pouvez voir la valeur différente de celle-ci.
‫Et puis nous commençons essentiellement la boucle de fil ici.
‫C'est la partie intéressante.
‫Ainsi, un mot est supprimé du cube.
‫Maintenant, il ne nous reste plus que deux articles.
‫Deux ont été retirés de la CUNA.
‫Il ne nous reste qu'un élément et trois ont été retirés du cube.
‫Maintenant, nous n'avons plus que zéro articles.
‫Donc, fondamentalement, le Q est vide à ce stade.
‫D'accord, alors regardons un exemple plus ou moins réel, bien sûr, nous ne travaillons pas avec des bases
‫de données dans cet exemple simple ici, mais disons que nous avons une plate-forme de commerce électronique et que nous sommes un vendeur et nous recevons
‫un tas de commandes.
‫Ces commandes doivent être traitées de manière à ce que le temps de service, donc le temps d'attente pour le client, soit
‫réduit au minimum.
‫C'est pourquoi nous allons utiliser les Qs car ils sont très pratiques puisque nous
‫nous soucions de l'ordre des commandes entrantes.
‫Donc l'ordre des commandes, c'est un peu un virelangue ici, mais l'ordre dans lequel les données ont
‫été reçues, OK, et par là j'entends les commandes elles-mêmes.
‫Regardons donc cette classe très simple que nous allons construire ici et je vais la mettre dans
‫le même fichier ici.
‫Commande sans disque avec une propriété d'ID de commande, la propriété de quantité de commande, puis le constructeur, qui définit simplement ces
‫deux valeurs lorsque nous créons un objet de commande.
‫Et puis nous avons ce message d'impression ou cette méthode de commande de processus qui imprimera l'ID de commande de l'article
‫que nous examinons actuellement.
‫Donc de l'ordre que nous étudions actuellement.
‫OK, maintenant ce que je voudrais faire, c'est créer des méthodes à l'intérieur de ma classe de
‫programme.
‫Je vais donc le mettre ici à l'intérieur de ce support encore.
‫Et les méthodes, ils vont s'occuper des commandes des différentes branches.
‫Supposons donc que nous ayons deux succursales différentes d'où nous pouvons obtenir des commandes.
‫Disons que nous vendons sur Amazon et en même temps chez Best Buy, par exemple, et nous allons maintenant
‫recevoir ces commandes.
‫Maintenant, nous n'allons pas rendre les choses trop compliquées où nous allons vérifier quelle branche est ce que fait l'ordre des différentes
‫branches, ou quelque chose que vous pourriez, bien sûr, voir comme un défi pour vous-même si vous
‫voulez développer cela .
‫Mais nous allons juste dire, d'accord, donnez-moi les commandes de chacun dans le bon ordre et donnez-moi également
‫les commandes de la succursale à dans le bon ordre.
‫OK, donc ici ce sera la branche un avec un tas de commandes et ensuite nous avons la branche deux avec un tas de
‫mots.
‫Nous obtenons donc les données.
‫Disons que nous obtenons ces données d'une base de données où nous vérifions, d'accord, quelles étaient les commandes ?
‫Et nous les vérifierions probablement par date afin que chaque commande obtienne également une date.
‫Ici, nous avons l'ID de la commande, mais nous essayons généralement de le stocker lorsqu'il a été commandé, etc.
‫Mais nous allons rester simple pour cet exemple.
‫OK, nous avons donc maintenant un tableau de commandes dans ces deux exemples.
‫Et lorsque nous appelons la méthode recevoir les commandes des branches un et deux, elles transformeront simplement un tableau de
‫commandes.
‫Voici donc un tableau de commandes.
‫OK, c'est donc ce que fait cette déclaration ici, les commandes de retour.
‫Maintenant, dans notre exemple particulier, l'ID de commande sera en fait unique pour les deux commandes différentes, elles
‫seront donc déjà dans le bon ordre, pour ainsi dire.
‫OK, donc c'est la commande un fait dans la commande deux, puis nous avons la commande trois et quatre et cinq de la
‫branche deux et puis le soir et la branche un, il y a eu une autre commande et quelqu'un a acheté 10 de nos
‫articles.
‫Maintenant, dans notre méthode principale, nous pouvons créer une file d'attente et nous nous débarrassons en fait de tout cela ici et notre méthode principale, nous pouvons
‫maintenant aller de l'avant et créer une file d'attente de commandes.
‫OK, donc ici, ordre de file d'attente.
‫Vous pouvez voir que cela ne va pas être un type simple comme entier maintenant, mais qu'il va en
‫fait contenir un tas de commandes.
‫C'est ce qui est cool avec la file d'attente.
‫Ce ne sont donc pas que des types simples et je vais appeler cette file d'attente de commandes et je vais l'initialiser
‫tout de suite ici.
‫Et puis, à ce stade, nous pouvons continuer et mettre en file d'attente toutes nos commandes que nous recevons de la branche un en utilisant cette
‫boucle for ici, ceci pour chaque boucle.
‫Nous examinons donc chaque commande que je vais appeler O pour chaque boucle de cette itération dans
‫nos commandes de réception de la branche un.
‫Maintenant, ce sera de type order array.
‫OK, donc lorsque nous appelons cette méthode, elle renverra un tableau de commandes comme vous le voyez ici.
‫Donc, fondamentalement, cela pour chaque boucle passera par les commandes que nous avons à l'intérieur de ce tableau de commandes
‫et il examinera chacune d'entre elles.
‫Donc tout sera d'abord cet ordre, ensuite ce sera cet ordre, puis ce sera cet ordre.
‫Et pour chacun d'entre eux, cela va inclure ces commandes.
‫OK, c'est donc ce que fait ceci pour chaque boucle.
‫Et puis nous en créons une autre pour chaque boucle pour l'autre branche également.
‫Donc.
‫Il en va de même ici pour chaque boucle, le tout dans les commandes reçues de la branche deux.
‫OK, donc c'est Branch mec, c'est Branch one et la même chose s'applique.
‫Le même concept s'applique donc.
‫Donc pour les commandes, nous allons parcourir notre file d'attente un par un puis nous retirerons les éléments de notre file d'attente et les
‫traiterons jusqu'à ce que notre file d'attente soit vide et que toutes les commandes soient enfin traitées.
‫OK, c'est pourquoi nous avons cette méthode de traitement des commandes ici qui traitera les commandes.
‫OK, alors maintenant, nous pouvons aller de l'avant.
‫Et au lieu de notre méthode principale ici, une fois que nous avons la file d'attente des commandes avec tous les
‫articles qu'elle contient, nous pouvons la parcourir et nous pouvons vérifier si la file d'attente des commandes n'est pas vide et tant qu'elle n'est pas vide.
‫Tant que la file d'attente des commandes, le nombre est supérieur à zéro.
‫Nous allons exécuter cette boucle while et nous allons supprimer l'ordre au début de la file d'attente.
‫Donc l'ordre qui est arrivé en premier, pour ainsi dire, et le stocker dans une variable appelée ordre actuel.
‫OK, nous avons donc cet objet de commande, qui sera appelé commande en cours, qui sera essentiellement le résultat de
‫la mise en file d'attente du premier élément de notre file d'attente de commandes.
‫Donc, en gros, enlevez d'abord cet élément, puis cet élément, puis cet élément, puis cet élément,
‫puis celui-là et celui-là, d'accord, puis il traitera chacun d'eux étape par étape.
‫Le traitement dans notre cas sera donc quelque chose de très simple et nous l'imprimerons simplement sur la console.
‫Mais bien sûr, vous pouvez exécuter quelque chose de beaucoup plus complexe en arrière-plan ici.
‫Cela pourrait déclencher certains événements, l'envoi d'un e-mail, par exemple, à un employé qui
‫doit s'en occuper ou à tout système de traitement que vous avez utilisé dans votre entreprise.
‫D'accord.
‫Et oui, c'est essentiellement ça.
‫Alors maintenant, exécutons cette application pour voir les résultats et pouvons voir que la commande un a été
‫traitée, la commande deux a été traitée, puis la commande six, puis trois, quatre, cinq.
‫OK, donc nous traitons les commandes, bien sûr, dans l'ordre dans lequel nous les avons signalés OK avec cela, nous
‫les exécutons.
‫Vous pouvez voir ici que nous faisons d'abord la queue depuis la branche un, puis depuis la branche deux.
‫Imaginez donc le scénario suivant où les commandes sont créées dans le système en
‫interne, mais elles doivent d'abord être acceptées et entièrement transmises à l'entité de traitement, quelle que soit cette
‫entité, comme l'autre bureau également, par exemple.
‫Et ils le font à la fin de la journée, par exemple.
‫Donc First Branch one termine son personnel et ils disent, OK, eh bien, nous acceptons ces commandes.
‫Et puis plus tard dans la journée, parce que disons qu'ils sont dans un fuseau horaire différent.
‫Par exemple, la branche deux dit, oui, nous sommes d'accord.
‫Eh bien, nous envoyons nos commandes comme approuvées à ce moment-là également, puis elles commencent à être traitées.
‫OK, c'est ainsi que cet exemple pourrait être considéré, par exemple.
‫Droit.
‫Sinon, bien sûr, vous les commanderiez tout de suite en fonction de leur identifiant ou en fonction de l'heure à laquelle ils
‫ont été créés.
‫OK d'accord.
‫Alors maintenant, vous avez une certaine idée de la façon dont fonctionnent ces commandes et comment fonctionnent les files d'attente.
‫C'est la partie la plus importante.
‫Vous pouvez donc désormais créer vos propres files d'attente et les utiliser dans vos applications.
‫D'accord.
‫Alors j'espère que cette vidéo vous a plu.
‫Rendez-vous dans le prochain.