Priority queue: Difference between revisions
m
→{{header|Zig}}
imported>Pjfarley3 m (Semantic edit concerning limitations of COBOL CALL statements) |
Nima.trueway (talk | contribs) m (→{{header|Zig}}) |
||
(One intermediate revision by one other user not shown) | |||
Line 2,408:
<syntaxhighlight lang="COBOL">
PROCESS NOSEQ,DS(S),AR(E),TEST(SO),CP(1047)
IDENTIFICATION DIVISION.
PROGRAM-ID. PTYQTEST
Line 2,492:
GOBACK.
END PROGRAM PTYQTEST.
PROCESS NOSEQ,DS(S),AR(E),TEST(SO),CP(1047)
IDENTIFICATION DIVISION.
PROGRAM-ID. PTYQMERG RECURSIVE.
Line 2,547:
GOBACK.
END PROGRAM PTYQMERG.
PROCESS NOSEQ,DS(S),AR(E),TEST(SO),CP(1047)
IDENTIFICATION DIVISION.
PROGRAM-ID. PTYQ2PMG RECURSIVE.
Line 2,621:
GOBACK.
END PROGRAM PTYQ2PMG.
PROCESS NOSEQ,DS(S),AR(E),TEST(SO),CP(1047)
IDENTIFICATION DIVISION.
PROGRAM-ID. PTYQPUSH RECURSIVE.
Line 2,664:
GOBACK.
END PROGRAM PTY2PUSH.
PROCESS NOSEQ,DS(S),AR(E),TEST(SO),CP(1047)
IDENTIFICATION DIVISION.
PROGRAM-ID. PTYQPOP RECURSIVE.
Line 8,975:
/// fn(T, T) bool
const Comparator = struct {
fn maxCompare(_: void, a: Task, b: Task)
return std.math.order(a.priority
}
fn minCompare(_: void, a: Task, b: Task)
return std.math.order(a.priority
}
};
Line 8,987:
var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator);
defer arena.deinit();
var pq = PriorityQueue(Task, void, Comparator.maxCompare).init(allocator,
▲ var pq = PriorityQueue(Task).init(allocator, Comparator.maxCompare);
defer pq.deinit();
Line 8,997 ⟶ 8,996:
try pq.add(Task.init(1, "Solve RC tasks"));
try pq.add(Task.init(2, "Tax returns"));
try testing.expectEqual(pq.count(), 5);
std.debug.print("\n", .{});
Line 9,004 ⟶ 9,003:
while (pq.count() != 0) {
const task = pq.remove();
std.debug.print("Executing:
}
std.debug.print("\n", .{});
Line 9,012 ⟶ 9,011:
var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator);
defer arena.deinit();
var pq = PriorityQueue(Task, void, Comparator.minCompare).init(allocator,
▲ var pq = PriorityQueue(Task).init(allocator, Comparator.minCompare);
defer pq.deinit();
Line 9,022 ⟶ 9,020:
try pq.add(Task.init(1, "Solve RC tasks"));
try pq.add(Task.init(2, "Tax returns"));
try testing.expectEqual(pq.count(), 5);
std.debug.print("\n", .{});
Line 9,029 ⟶ 9,027:
while (pq.count() != 0) {
const task = pq.remove();
std.debug.print("Executing:
}
std.debug.print("\n", .{});
}
</syntaxhighlight>
|