package module
Version: v0.0.0-...-bd25904 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Mar 22, 2017 License: GPL-3.0 Imports: 1 Imported by: 0



Package pqueue provides an implementation of priority queue derived from the work done by Robert Sedgewick and Kevin Wayne as part of Algorithms, 4th Edition.


Copyright (C) 2000–2016 Robert Sedgewick and Kevin Wayne Copyright (C) 2017 Kasper Kronborg Isager

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.



This section is empty.


This section is empty.


This section is empty.


type Order

type Order int

Order describes the ordering of a priority queue.

const (
	// Ascending ordering; smallest key at the head.
	Ascending Order = iota
	// Descending ordering; largest key at the head.

type PriorityQueue

type PriorityQueue interface {
	// Size gets the current number of keys within the priority queue.
	Size() int

	// Push adds a key with a priority to the priority queue.
	Push(key int, priority float32)

	// Pop removes and returns the head of the priority queue.
	Pop() (int, error)

	// Peek returns the head of the priority queue.
	Peek() (int, error)

	// Priority returns the priority of a key in the priority queue.
	Priority(key int) (float32, error)

	// Update changes the priority of a key in the priority queue.
	Update(key int, priority float32) error

	// Remove removes a key from the priority queue.
	Remove(key int) error

PriorityQueue describes a priority queue data structure used for ordering a set of keys according to their priority.

func New

func New(order Order) PriorityQueue

New constructs and initialises a new priority queue.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL