aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2020-05-23 13:57:24 +0100
committergingerBill <bill@gingerbill.org>2020-05-23 13:57:24 +0100
commit7d11ee605cc63aa9348524a4bc9ddee6af440791 (patch)
tree544dcddaad1cb1611fb9292ba3a6a610d682af4c /examples
parent4671207c61c868b4ed1297c3dca8d7a8bd0ba820 (diff)
Add `sort.binary_search` (uses interpolation sort for ordered numeric types)
Diffstat (limited to 'examples')
-rw-r--r--examples/demo/demo.odin15
1 files changed, 14 insertions, 1 deletions
diff --git a/examples/demo/demo.odin b/examples/demo/demo.odin
index f908e6ecd..28b453d06 100644
--- a/examples/demo/demo.odin
+++ b/examples/demo/demo.odin
@@ -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();