Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alexferl/sort

A port of Go's sort package to V
https://github.com/alexferl/sort

pdqsort sort sorting v vlang

Last synced: 17 days ago
JSON representation

A port of Go's sort package to V

Awesome Lists containing this project

README

        

# sort

A port of Go's [sort](https://pkg.go.dev/[email protected]) package to [V](https://vlang.io/).

**Requires** V [c9e8dd5](https://github.com/vlang/v/commit/c9e8dd56c2e5192fe030ca8534733887604a0999) or higher.

## Installing
```shell
v install alexferl.sort
```

# Using
More complex examples [here](examples).

## sort
```v
module main

import alexferl.sort

fn main() {
data := [3, 2, 4, 1, 0, 5]
clone := data.clone()
mut a := sort.IntSlice(clone)
sort.sort(mut a)
assert sort.is_sorted(a), 'sorted ${data} got ${clone}'
}
```

## search
```v
module main

import alexferl.sort
import readline

fn main() {
println("Pick an integer from 0 to 100.")
answer := sort.search(100, fn(i int) bool {
mut r := readline.Readline{}
r.enable_raw_mode()
defer {
r.disable_raw_mode()
}
s := r.read_line("Is your number <= ${i}? ") or { panic(err) }
return s != "" && s.starts_with('y')
})
println("Your number is ${answer}.")
}
```