Ֆիքսված չափի 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