Səhvlərə qarşı qoruma ilə göyərtə
Dek məlumat strukturunu həyata keçirin. Bu proqram, dek təsvirini və onun işini modelləşdirərək, verilmiş əmrlər ardıcıllığını oxuyur və müvafiq əməliyyatları yerinə yetirir. Hər bir əmrin icrasından sonra proqram bir nəticə çıxarmalıdır. Proqram üçün mümkün əmrlər aşağıdakılardır:
push_front
Dekanın əvvəlinə yeni element əlavə edin. Proqram ok çıxarmalıdır.
push_back
Dekanın sonuna yeni element əlavə edin. Proqram ok çıxarmalıdır.
pop_front
Dekadan ilk elementi çıxarın. Proqram onun dəyərini çıxarmalıdır.
pop_back
Dekadan son elementi çıxarın. Proqram onun dəyərini çıxarmalıdır.
front
İlk elementin dəyərini öyrənin (onu silmədən). Proqram onun dəyərini çıxarmalıdır.
back
Son elementin dəyərini öyrənin (onu silmədən). Proqram onun dəyərini çıxarmalıdır.
size
Dekdəki elementlərin sayını çıxarın.
clear
Deki təmizləyin (bütün elementləri silin) və ok çıxarın.
exit
Proqram bye çıxarmalı və işini dayandırmalıdır.
Dekdəki elementlərin sayı heç vaxt 100-dən çox olmayacaq. pop_front, pop_back, front, back əməliyyatlarını yerinə yetirməzdən əvvəl proqram dekdə ən azı bir elementin olub-olmadığını yoxlamalıdır. Əgər giriş məlumatlarında pop_front, pop_back, front, back əməliyyatı varsa və dek boşdursa, proqram rəqəm dəyəri əvəzinə error sətirini çıxarmalıdır.
// Java OOP class MyDeque // problem 6128 Sadə dek { protected LinkedList<Integer> v; ... } class ErrorProtectedDeque extends MyDeque { final static int ERROR = -2000000000; public int pop_front(); // səhv hallarında, ERROR qaytar public int pop_back(); // səhv hallarında, ERROR qaytar public int front(); // səhv hallarında, ERROR qaytar public int back(); // səhv hallarında, ERROR qaytar }
Giriş məlumatları
Hər bir sətir bir əmri ehtiva edir.
Çıxış məlumatları
Hər bir əmrin nəticəsini ayrıca sətirdə çıxarın.