List
A list stores values in order and lets you access them by position. Unlike the fixed-size array used for on-call slots, a dynamic list can usually grow as player reports arrive.
The report log now needs to accept an unpredictable number of tickets while preserving arrival order. That is the new requirement identified after Array.
names = ["Ada", "Grace"]
append "Linus" to names
first_name = names[0]
Indexed access is usually O(1), while searching or removing from the middle is O(n). Appending is usually efficient, although a resize may occasionally copy the existing values. Lists are a strong default when order and simple iteration matter.
The list is useful for display and history, but it does not express “take the oldest waiting report next.” The report log and the work-assignment policy can remain separate.
See List examples for runnable examples in supported programming languages.