//Home made Queue class supports ints only by DreamVB

#include <stdio.h>

class TQue{
private:
	int mIndex;
	int *List;
public:
	void Init(int size);
	void AddItem(int item);
	void SetItem(int index,int item);
	void Clear(){delete[]List;}
	void Delete(int index);
	int FetchItem(int index);
	int FindItem(int item);
	int Count(){return mIndex;}
};

void TQue::Init(int size){
	List = new int[size];
	mIndex=0;
}

void TQue::AddItem(int item){
	List[mIndex] = item;
	mIndex++;
}

int TQue::FetchItem(int index){
	if((index < 0) || (index > mIndex-1)){
		return 0;
	}
	return List[index];
}

void TQue::SetItem(int index,int item){
	if((index <0) || (index >mIndex)){
		return;
	}
	List[index] = item;
}

void TQue::Delete(int index){
	int *temp;
	int i = 0;
	int j = 0;

	temp = new int[mIndex];

	while(i < mIndex){
		if(index != i){
			temp[j] = List[i];
			j++;
		}
		i++;
	}

	if(mIndex > 0){mIndex--;}
	//Set new list data
	List=temp;
}

int TQue::FindItem(int item){
	int idx = -1;
	int i = 0;

	while(i<mIndex){
		if(List[i] == item){
			idx = i;
			break;
		}
		i++;
	}
	return idx;
}