Добавил:
Tushkan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы (2) / laba13 / Deq
.cpp// ---------------------------------------------------------------------------
#pragma hdrstop
#include "Deq.h"
// ---------------------------------------------------------------------------
#pragma package(smart_init)
template<class TYPE, int Size> bool Deq<TYPE, Size>::push_back(TYPE v) {
if (Count >= Size)
return false;
else {
arr[Count++] = v;
return true;
}
};
template<class TYPE, int Size>bool Deq<TYPE, Size>::push_front(TYPE v) {
if (Count >= Size)
return false;
else {
for (int i = ++Count; i > 0; i--)
arr[i] = arr[i - 1];
arr[0] = v;
return true;
}
}
template<class TYPE, int Size>TYPE Deq<TYPE, Size>::pop_front() {
if ((Count > 0) && (Count <= Size)) {
TYPE res = arr[0];
for (int i = 0; i < Count; i++)
arr[i] = arr[i + 1];
Count--;
return res;
} else {
throw "Error";
}
}
template<class TYPE, int Size>TYPE Deq<TYPE, Size>::pop_back() {
if (Count > 0)
throw Deq<TYPE, Size>::Error e;;
else {
return arr[Count--];
}
}
template<class TYPE, int Size>TYPE& Deq<TYPE, Size>::back() {
if ((Count > 0) && (Count < Size))
return arr[Count];
}
template<class TYPE, int Size>TYPE& Deq<TYPE, Size>::front() {
if ((Count > 0) && (Count < Size))
return arr[0];
}