package cll
Mutable circular doubly linked list
Install
Dune Dependency
Authors
Maintainers
Sources
v0.2.0.tar.gz
md5=534e5defb87dfefab80ad58477ee860b
sha512=3324a8b80a9e642fc729d439fb9ecf9a9d40ea465f53b50f2ad6ac62bddc1a11031ab094e0b1223d0200c982b05604d4e3603e754bf1be2583bc5ba230a8f700
doc/index.html
cll
A mutable circular linked list.
Designed for O(1)
insertion and removal, O(n)
traversal, and close to O(1)
search using a backing hashtable.
API Documentation
Cll
A mutable circular linked list.
Installation
Install with opam
$ opam install cll
Install with dune
cll
can be added as a dependency to a dune
file
(executable
(name foo)
(libraries cll))
Install from source
# if dune is not installed
$ opam install dune
# clone the github repo
$ git clone https://github.com/jamsidedown/ocaml-cll.git
$ cd ocaml-cll
# build with dune
$ dune build
# install to the current opam switch
$ opam install .
Usage
To be run in the ocaml toplevel
let cll = Cll.init [ 1; 2; 3; 4; 5; 6 ];;
Cll.head cll;;
(* int option = Some 1 *)
Cll.length cll;;
(* int = 6 *)
Cll.next cll;;
Cll.head cll;;
(* int option = Some 2 *)
Cll.prev cll;;
Cll.prev cll;;
Cll.head cll;;
(* int option = Some 6 *)
Cll.add cll 7;;
Cll.head cll;;
(* int option = Some 7 *)
Cll.pop cll;;
(* int option = Some 7 *)
Cll.head cll;;
(* int option = Some 1 *)
Cll.find cll 4;;
(* bool = true *)
Cll.head cll;;
(* int option = Some 4 *)
Cll.iter cll (fun x -> Printf.printf "%i\n")
(*
4
5
6
1
2
3
*)
Cll.to_list cll;;
(* int list = [4; 5; 6; 1; 2; 3] *)
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page