priority_queue

package module
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2023 License: MIT Imports: 1 Imported by: 0

README

Priority Queue for Golang

Test

How to install

go get -u github.com/hyperf/go-priority-queue

How to use

package main

import (
	"fmt"
	q "github.com/hyperf/go-priority-queue"
)

func main() {
	queue := &q.PriorityQueue[string]{}
	queue.Insert("Hyperf", 1)
	queue.Insert("Swoole", 2)
	queue.Insert("Swow", 0)

	fmt.Print(queue.ToArray())
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PriorityElement

type PriorityElement[T any] struct {
	Priority []int64
	Element  T
}

type PriorityQueue

type PriorityQueue[T any] struct {
	// contains filtered or unexported fields
}

func NewPriorityQueue

func NewPriorityQueue[T any]() *PriorityQueue[T]

func (*PriorityQueue[T]) Insert

func (q *PriorityQueue[T]) Insert(element T, priority int64) bool

func (*PriorityQueue[T]) Inserts

func (q *PriorityQueue[T]) Inserts(element T, priority []int64) bool

func (*PriorityQueue[T]) Len

func (q *PriorityQueue[T]) Len() int

func (*PriorityQueue[T]) Less

func (q *PriorityQueue[T]) Less(i, j int) bool

func (*PriorityQueue[T]) Pop

func (q *PriorityQueue[T]) Pop() any

func (*PriorityQueue[T]) Push

func (q *PriorityQueue[T]) Push(x any)

func (*PriorityQueue[T]) Shift added in v1.0.2

func (q *PriorityQueue[T]) Shift() T

func (*PriorityQueue[T]) Sort

func (q *PriorityQueue[T]) Sort()

func (*PriorityQueue[T]) Swap

func (q *PriorityQueue[T]) Swap(i, j int)

func (*PriorityQueue[T]) ToArray

func (q *PriorityQueue[T]) ToArray() []T

Jump to

Keyboard shortcuts

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