Sorting algorithms/Bogosort: Difference between revisions
Content added Content deleted
No edit summary |
(Added a V implementation) |
||
Line 3,028: | Line 3,028: | ||
1, 2, 3, 4, 4, 6, 7, 8, 11 |
1, 2, 3, 4, 4, 6, 7, 8, 11 |
||
</pre> |
</pre> |
||
=={{header|Vlang}}== |
|||
<lang vlang>import ( |
|||
rand |
|||
) |
|||
fn shuffle(arr mut []int) { |
|||
for i := arr.len - 1; i >= 0; i-- { |
|||
j := rand.next(i + 1) |
|||
temp := arr[i] |
|||
arr[i] = arr[j] |
|||
arr[j] = temp |
|||
} |
|||
println('After Shuffle: ' + arr.str()) |
|||
} |
|||
fn is_sorted(arr []int) bool { |
|||
for i := 0; i < arr.len - 1; i++ { |
|||
if arr[i] > arr[i + 1] { |
|||
return false |
|||
} |
|||
} |
|||
return true |
|||
} |
|||
fn main() { |
|||
rand.seed(100) |
|||
arr := [6, 9, 1, 4] |
|||
println('Input: $arr') |
|||
for !is_sorted(arr) { |
|||
shuffle(mut arr) |
|||
} |
|||
println('Output: $arr') |
|||
} |
|||
</lang> |
|||
{{out}} |
|||
<pre>Input: [6, 9, 1, 4] |
|||
After Shuffle: [6, 1, 4, 9] |
|||
After Shuffle: [4, 9, 1, 6] |
|||
After Shuffle: [1, 4, 6, 9] |
|||
Output: [1, 4, 6, 9]</pre> |
|||
=={{header|XPL0}}== |
=={{header|XPL0}}== |