Explication détaillée de la définition et de l'utilisation des files d'attente Python avec des exemples

零下一度
Libérer: 2017-06-29 15:39:10
original
2258 Les gens l'ont consulté

Cet article présente principalement la définition et l'utilisation des files d'attente en Python, et analyse les techniques de fonctionnement spécifiques et les précautions pour définir et utiliser les files d'attente en Python sur la base d'exemples spécifiques. peut se référer à

Cet article explique la définition et l'utilisation des files d'attente Python avec des exemples. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Bien que Python ait son propre module de file d'attente, nous n'avons besoin que de présenter ce module lors de son utilisation, mais afin de mieux comprendre la file d'attente, nous avons implémenté la file d'attente nous-mêmes.

La file d'attente est une structure de données caractérisée par le principe premier entré, premier sorti, ce qui signifie qu'un élément est ajouté à la fin de la file d'attente et qu'un élément est supprimé de la tête de la file d'attente. C'est comme faire la queue pour payer dans un centre commercial. La personne qui arrive en premier prend la facture en premier, et ceux qui sont arrivés plus tard étaient au bout de la file d'attente. Dans notre vie quotidienne, les files d'attente sont utilisées lors de l'envoi de messages texte. Voici le code pour implémenter la file d'attente en Python :


#!/usr/bin/python
#coding=utf-8
class Queue(object) :
 def init(self, size) :
  self.size = size
  self.queue = []
 def str(self) :
  return str(self.queue)
 #获取队列的当前长度
 def getSize(self) :
  return len(self.quene)
 #入队,如果队列满了返回-1或抛出异常,否则将元素插入队列尾
 def enqueue(self, items) :
  if self.isfull() :
   return -1
   #raise Exception("Queue is full")
  self.queue.append(items)
 #出队,如果队列空了返回-1或抛出异常,否则返回队列头元素并将其从队列中移除
 def dequeue(self) :
  if self.isempty() :
   return -1
   #raise Exception("Queue is empty")
  firstElement = self.queue[0]
  self.queue.remove(firstElement)
  return firstElement
 #判断队列满
 def isfull(self) :
  if len(self.queue) == self.size :
   return True
  return False
 #判断队列空
 def isempty(self) :
  if len(self.queue) == 0 :
   return True
  return False
Copier après la connexion

Ce qui suit est le code de test pour le fichier .py de la classe de file d'attente :


if name == 'main' :
 queueTest = Queue(10)
 for i in range(10) :
  queueTest.enqueue(i)
 print queueTest.isfull()
 print queueTest
 print queueTest.getSize()
 for i in range(5) :
  print queueTest.dequeue()
 print queueTest.isempty()
 print queueTest
 print queueTest.getSize()
Copier après la connexion

Résultats des tests :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal