File: node-priqueue.sig

package info (click to toggle)
mlton 20210117%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 58,464 kB
  • sloc: ansic: 27,682; sh: 4,455; asm: 3,569; lisp: 2,879; makefile: 2,347; perl: 1,169; python: 191; pascal: 68; javascript: 7
file content (24 lines) | stat: -rw-r--r-- 810 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
(*
 * This implements a priority queue for nodes in a graph
 * 
 * -- Allen
 *)

signature NODE_PRIORITY_QUEUE =
sig

   type node_priority_queue

   exception EmptyPriorityQueue

   val create         : int -> (Graph.node_id * Graph.node_id -> bool) -> 
                           node_priority_queue 
   val fromGraph      : (Graph.node_id * Graph.node_id -> bool) -> 
                          ('n,'e,'g) Graph.graph -> node_priority_queue
   val isEmpty        : node_priority_queue -> bool
   val clear          : node_priority_queue -> unit
   val min            : node_priority_queue -> Graph.node_id 
   val deleteMin      : node_priority_queue -> Graph.node_id
   val decreaseWeight : node_priority_queue * Graph.node_id -> unit
   val insert         : node_priority_queue * Graph.node_id -> unit
end