Kaydet (Commit) 09d9f86c authored tarafından Skip Montanaro's avatar Skip Montanaro

add /F's PriorityQueue example

üst ffd3a421
......@@ -61,7 +61,7 @@ The following functions are provided:
\end{funcdesc}
\subsection{Example}
\subsection{Examples}
\nodename{bisect-example}
The \function{bisect()} function is generally useful for categorizing
......@@ -81,3 +81,21 @@ breakpoints: 85 and up is an `A', 75..84 is a `B', etc.
>>> map(grade, [33, 99, 77, 44, 12, 88])
['E', 'A', 'B', 'D', 'F', 'A']
\end{verbatim}
The bisect module can be used with the Queue module to implement a priority
queue (example courtesy of Fredrik Lundh): \index{Priority Queue}
\begin{verbatim}
import Queue, bisect
class PriorityQueue(Queue.Queue):
def _put(self, item):
bisect.insort(self.queue, item)
# usage
queue = PriorityQueue(0)
queue.put((2, "second"))
queue.put((1, "first"))
queue.put((3, "third"))
priority, value = queue.get()
\end{verbatim}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment