bubble_sort.adl
1 /* 2 seed = 123456789 3 min_height = 16 4 5 [case] 6 program = "bubble_sort.alpha" 7 function = "sort" 8 input = ["[100u32, 0u32, 0u32, 2u32, 5u32, 200u32, 300u32, 10u32]"] 9 [case] 10 program = "bubble_sort.alpha" 11 function = "sort" 12 input = ["[1u32, 2u32, 3u32, 4u32, 5u32, 6u32, 7u32, 8u32]"] 13 [case] 14 program = "bubble_sort.alpha" 15 function = "sort" 16 input = ["[8u32, 7u32, 6u32, 5u32, 4u32, 3u32, 2u32, 1u32]"] 17 */ 18 19 20 program bubble_sort.alpha { 21 // This is largely to test array assignments. 22 transition sort(xs: [u32; 8]) -> public [u32; 8] { 23 for i: u8 in 0u8..7u8 { 24 for j: u8 in 0u8..7u8-i { 25 if xs[j+1u8] < xs[j] { 26 let swap: u32 = xs[j]; 27 xs[j] = xs[j+1u8]; 28 xs[j+1u8] = swap; 29 } 30 } 31 } 32 return xs; 33 } 34 35 @noupgrade 36 async constructor() {} 37 }