Add sort.binary_search (uses interpolation sort for ordered numeric types)

This commit is contained in:
gingerBill
2020-05-23 13:57:24 +01:00
parent 4671207c61
commit 7d11ee605c
2 changed files with 55 additions and 1 deletions
+14 -1
View File
@@ -7,6 +7,7 @@ import "core:thread"
import "core:time"
import "core:reflect"
import "core:runtime"
import "core:sort"
import "intrinsics"
@@ -1978,7 +1979,19 @@ pure_procedures :: proc() {
}
main :: proc() {
when true {
x := [?]f32{1, 1, 5, 6, 7, 8, 9, 10, 15, 15};
i, ok := sort.binary_search(x[:], 7);
fmt.println(x);
fmt.println(i, ok);
y := [?]string{"apple", "hello", "goodbye", "what?"};
sort.quick_sort(y[:]);
j, y_ok := sort.binary_search(y[:], "goodbye");
fmt.println(y);
fmt.println(j, y_ok);
when false {
the_basics();
control_flow();
named_proc_return_parameters();