Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
5
Добавлен:
28.06.2014
Размер:
1.29 Кб
Скачать
// ---------------------------------------------------------------------------

#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];
}
Соседние файлы в папке laba13