Ֆիքսված չափի stack (պահունակ)
Ենթադրենք՝ գոյություն ունի ծրագրավորմանը նվիրված ուսուցման հարթակ, իսկ դուք աշխատում եք այդ ընկերության զարգացման բաժնում: Մշակվում է դաս՝ բացառությունների մշակման և տվյալների կառուցվածքի ստեղծման վերաբերյալ, և ձեզ խնդրել են ստեղծել Stack class Python-ում: Այս Stack-ն ունի ֆիքսված չափ և երեք գործողություն.
push(item)
- Ավելացնում է տարր պահունակի վերևում:pop()
- Հեռացնում է պահունակի վերին տարրը և վերադարձնում այն:peek()
- վերադարձնում է պահունակի վերին տարրը՝ առանց այն հեռացնելու:
Սակայն ձեր Stack class-ը պետք է ունենա հետևյալ սահմանափակումները.
push (item)
գործողությունը պետք է raise անիStackOverflowError
բացառություն, եթե փորձում եք որևէ տարր ավելացնել ամբողջական պահունակին:pop()
գործողությունը պետք է raise անիStackEmptyError
բացառություն, եթե փորձում եք տարր դուրս հանել դատարկ պահունակից:
StackOverflowError
-ը և StackEmptyError
-ը պետք է ժառանգեն Exception
-ից և չընդունեն արգումենտներ իրենց __init__
մեթոդներում:
Մուտք | Ելք |
---|---|
| StackOverflowError: The stack is full |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB