HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
Queues: d'attente : La vue abstraite |
|
|
Files d'attente
|
La file d'attente est la structure de données linéaire finale que nous volonté avons examinée. Comme la pile, la file d'attente est également un type de liste restreinte. Au lieu de limiter toutes opérations à seulement une fin de la liste comme pile, la file d'attente permet à des articles d'être ajoutés à l'une fin de la liste et d'être enlevés à l'autre extrémité de la liste. La figure ci-dessous devrait te donner une bonne idée de la vue abstraite de la file d'attente.
Ce les restrictions placées sur une file d'attente causent la structure être « Premier-Dans, la Première-Dehors » ou la structure de fifo. Cette idée est semblable aux lignes de client à a dans n'importe quel magasin de paiement de facture (par exemple file d'attente de paiement de facture de téléphone). Quand le client A est prêt à vérifier, lui ou elle entre dans la queue (extrémité) de la ligne de attente. Quand les clients précédents ont payé, alors le client A paye et sort de la tête de la ligne. La ligne de facture-paiement est vraiment une file d'attente qui impose « d'abord venu, une politique du premier service ».
Nous représenterons ces deux opérations avec la notation suivante :
|
EnqueueItem(Queue, Item)
Item DequeueItem(Queue)
|
Ces deux opérations sont très semblables à celle des opérations que nous avons apprises pour la structure de données de pile. Bien que les noms soient différents, la logique d'employer les paramètres est identique. L'opération d'EnqueueItem (écrire l'article de file d'attente) prend le paramètre d'article et l'ajoute à la queue (extrémité) de la file d'attente. L'opération de DequeueItem (article de file d'attente d'effacement) enlève l'article principal de la file d'attente et renvoie ceci comme article. Noter que nous représentons l'article retourné avec un mot-clé situé à la gauche du nom d'opération. Ces deux opérations font partie de la vue abstraite d'une file d'attente. Indépendamment de la façon dont nous choisissons de mettre en application notre file d'attente sur l'ordinateur, la file d'attente doit soutenir ces deux opérations.
|
La vue d'exécution |
Quand nous avons regardé les structures commandées de liste et de données de pile, nous avons vu deux manières différentes de mettre en application chacune de elles. Bien que les réalisations aient été différentes, la structure de données était toujours la même du point de vue abstrait pour la pile et la liste commandée. Nous pourrions utilisation immobile les mêmes opérations sur les structures de données indépendamment de leurs réalisations. Avec la file d'attente, il est également possible d'avoir de diverses réalisations qui soutiennent les opérations EnqueueItem et DequeueItem. La distinction entre la représentation logique de la file d'attente et la représentation physique de la file d'attente. Se rappeler que la représentation logique est la manière dont nous pensons aux données de manière étant stockées dans l'ordinateur. La représentation physique est la manière que les données de manière sont organisées réellement dans les cellules de mémoire (mémoire d'ordinateur).
Maintenant considérons comment les opérations d'EnqueueItem et de DequeueItem pourraient être mises en application dans la file d'attente. Pour stocker des lettres dans la file d'attente, nous pourrions avancer l'indicateur de queue par un endroit et ajouter la nouvelle lettre dans la file d'attente. Pour retirer des lettres de la file d'attente (d'effacement), nous pourrions enlever dehors la lettre principale et augmenter l'indicateur principal par un endroit. Tandis que cette approche semble très franche, elle a un problème sérieux. Car des articles sont ajoutés et enlevés, notre file d'attente marchera directement par la mémoire entière de l'ordinateur. Nous n'avons pas limité la taille de notre file d'attente à une quantité fixe de taille.
Peut-être nous pourrions limiter la taille de la file d'attente en ne permettant pas à l'indicateur de queue d'avancer au delà du certain endroit de mémoire. Cette exécution arrêterait la file d'attente de traverser la mémoire entière, mais elle nous permettrait seulement de remplir file d'attente une fois. Une fois que les indicateurs de tête et de queue atteignaient l'endroit d'arrêt, notre file d'attente ne fonctionnerait plus l'untill que nous supprimons quelques données de elle.
|
|
|
Keywords:
queues in c, queues in c++, java queues, c arrays, matrix in c, graph in c, sort in c, c example, c method, program in c, list in c, simple c, c implementation
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|