Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/alexferl/sort
- Owner: alexferl
- License: mit
- Created: 2023-07-10T02:06:26.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-08-01T22:56:45.000Z (over 1 year ago)
- Last Synced: 2024-11-22T02:35:01.382Z (3 months ago)
- Topics: pdqsort, sort, sorting, v, vlang
- Language: V
- Homepage:
- Size: 32.2 KB
- Stars: 10
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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 mainimport 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 mainimport alexferl.sort
import readlinefn 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}.")
}
```