Todo depende de cómo estructures el ejercicio ya que dependerá de las clases que estés usando y las restricciones que tenga que haber entre ellas. No es lo mismo tener por ejemplo usuarios y que cada uno almacene su número de asiento que tener únicamente los asientos.
En el segundo caso que es más sencillo, como te ha dicho @ryhuso, puedes tener un array de tipo boolean y longitud 21. La longitud tiene que ser 21 porque es el número de asientos que hay entre el 0 y el 20. Entonces a la hora de reservar un asiento, si ese índice del array vale true es que ya está ocupado, y si vale false es que está disponible y tendrás que ponerlo a true.
Pero como te digo, lo más importante es cómo tengas estructurado tu programa ya que cada implementación conllevará una solución diferente. Si quieres ayuda más concreta tendrás que dejar algo de tu código para que podamos verlo.
En el segundo caso que es más sencillo, como te ha dicho @ryhuso, puedes tener un array de tipo boolean y longitud 21. La longitud tiene que ser 21 porque es el número de asientos que hay entre el 0 y el 20. Entonces a la hora de reservar un asiento, si ese índice del array vale true es que ya está ocupado, y si vale false es que está disponible y tendrás que ponerlo a true.
Pero como te digo, lo más importante es cómo tengas estructurado tu programa ya que cada implementación conllevará una solución diferente. Si quieres ayuda más concreta tendrás que dejar algo de tu código para que podamos verlo.