This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig standard library. Public Function
Unstable in-place sort. O(n*log(n)) best case, worst case and average case. O(1) memory (no allocator required). context must have methods swap and lessThan, which each take 2 usize parameters indicating the index of an item. Sorts in ascending order with respect to lessThan.
Params
a: usize
b: usize
context
File
sort.zig:83
8384858687888990919293949596979899
pubfnheapContext(a: usize, b: usize, context: anytype) void {
assert(a <= b);
// build the heap in linear time.vari = a + (b - a) / 2;
while (i > a) {
i -= 1;
siftDown(a, i, b, context);
}
// pop maximal elements from the heap.i = b;
while (i > a) {
i -= 1;
context.swap(a, i);
siftDown(a, a, i, context);
}
}
Unstable in-place sort. O(n*log(n)) best case, worst case and average case. O(1) memory (no allocator required).
contextmust have methodsswapandlessThan, which each take 2usizeparameters indicating the index of an item. Sorts in ascending order with respect tolessThan.