Skip to content

Commit 82a8da7

Browse files
committed
Updated to use rand's inbuilt shuffle
1 parent db30ba2 commit 82a8da7

File tree

1 file changed

+4
-9
lines changed

1 file changed

+4
-9
lines changed

chapters/sorting_searching/bogo/code/rust/bogosort.rs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,7 @@
22

33
extern crate rand;
44

5-
fn shuffle(arr : &mut [i32]) {
6-
for i in 0..arr.len() {
7-
let r : usize = rand::random::<usize>() % arr.len();
8-
arr.swap(r,i);
9-
}
10-
}
5+
use rand::{thread_rng, Rng};
116

127
fn is_sorted(arr : &[i32]) -> bool {
138
for i in 1..arr.len() {
@@ -20,13 +15,13 @@ fn is_sorted(arr : &[i32]) -> bool {
2015

2116
fn bogo_sort(arr : &mut [i32]) {
2217
while !is_sorted(arr) {
23-
shuffle(arr)
18+
thread_rng().shuffle(arr);
2419
}
2520
}
2621

2722
fn main() {
28-
let mut v = vec!(1,2,3,4,5);
29-
shuffle(&mut v);
23+
let mut v = vec![1, 2, 3, 4, 5];
24+
thread_rng().shuffle(&mut v);
3025
println!("Original array: {:?}", v);
3126
bogo_sort(&mut v);
3227
println!("Sorted array: {:?}", v);

0 commit comments

Comments
 (0)