Marcus Lee / LinearArray
Committer:
UHSLMarcus
Date:
Tue Oct 04 13:38:07 2016 +0000
Revision:
1:49758f1e1317
Child:
2:92576523c23e
fixed a few things

Who changed what in which revision?

UserRevisionLine numberNew contents of line
UHSLMarcus 1:49758f1e1317 1
UHSLMarcus 1:49758f1e1317 2
UHSLMarcus 1:49758f1e1317 3 template <class type>
UHSLMarcus 1:49758f1e1317 4 LinearArray<type>::LinearArray(int size): elem_count(0) {
UHSLMarcus 1:49758f1e1317 5 array = new type[size];
UHSLMarcus 1:49758f1e1317 6 }
UHSLMarcus 1:49758f1e1317 7
UHSLMarcus 1:49758f1e1317 8 template <class type>
UHSLMarcus 1:49758f1e1317 9 LinearArray<type>::~LinearArray() {
UHSLMarcus 1:49758f1e1317 10 delete[] array;
UHSLMarcus 1:49758f1e1317 11 }
UHSLMarcus 1:49758f1e1317 12
UHSLMarcus 1:49758f1e1317 13 template <class type>
UHSLMarcus 1:49758f1e1317 14 int LinearArray<type>::add(type item) {
UHSLMarcus 1:49758f1e1317 15 int ret = -1;
UHSLMarcus 1:49758f1e1317 16 if (hasSpace()) {
UHSLMarcus 1:49758f1e1317 17 array[elem_count] = item;
UHSLMarcus 1:49758f1e1317 18 ret = elem_count++;
UHSLMarcus 1:49758f1e1317 19 }
UHSLMarcus 1:49758f1e1317 20
UHSLMarcus 1:49758f1e1317 21 return ret;
UHSLMarcus 1:49758f1e1317 22 }
UHSLMarcus 1:49758f1e1317 23
UHSLMarcus 1:49758f1e1317 24 template <class type>
UHSLMarcus 1:49758f1e1317 25 void LinearArray<type>::remove(int index) {
UHSLMarcus 1:49758f1e1317 26
UHSLMarcus 1:49758f1e1317 27 if (index < elem_count) {
UHSLMarcus 1:49758f1e1317 28 for (int i = index; i < elem_count-1; i++) {
UHSLMarcus 1:49758f1e1317 29 array[i] = array[i+1];
UHSLMarcus 1:49758f1e1317 30 }
UHSLMarcus 1:49758f1e1317 31
UHSLMarcus 1:49758f1e1317 32 elem_count--;
UHSLMarcus 1:49758f1e1317 33 }
UHSLMarcus 1:49758f1e1317 34
UHSLMarcus 1:49758f1e1317 35 }
UHSLMarcus 1:49758f1e1317 36
UHSLMarcus 1:49758f1e1317 37 template <class type>
UHSLMarcus 1:49758f1e1317 38 int LinearArray<type>::size() {
UHSLMarcus 1:49758f1e1317 39 return sizeof(array);
UHSLMarcus 1:49758f1e1317 40 }
UHSLMarcus 1:49758f1e1317 41
UHSLMarcus 1:49758f1e1317 42 template <class type>
UHSLMarcus 1:49758f1e1317 43 int LinearArray<type>::elements() {
UHSLMarcus 1:49758f1e1317 44 return elem_count;
UHSLMarcus 1:49758f1e1317 45 }
UHSLMarcus 1:49758f1e1317 46
UHSLMarcus 1:49758f1e1317 47 template <class type>
UHSLMarcus 1:49758f1e1317 48 bool LinearArray<type>::hasSpace() {
UHSLMarcus 1:49758f1e1317 49 return elem_count < sizeof(array);
UHSLMarcus 1:49758f1e1317 50 }
UHSLMarcus 1:49758f1e1317 51
UHSLMarcus 1:49758f1e1317 52 template <class type>
UHSLMarcus 1:49758f1e1317 53 type& LinearArray<type>::operator[](int index) {
UHSLMarcus 1:49758f1e1317 54 if (index < elem_count) {
UHSLMarcus 1:49758f1e1317 55 return array[index];
UHSLMarcus 1:49758f1e1317 56 }
UHSLMarcus 1:49758f1e1317 57 return;
UHSLMarcus 1:49758f1e1317 58 }