All pastes #236574 Raw Edit

Stuff

public cpp v1 · immutable
·published 2006-11-03 21:51 UTC
rendered paste body
template <class T>void set<T>::add(T num){        if (pos == length - 1){                //resize the array                T *temp = new T[length * 2];                int i;                for (i = 0; i < this->getSize(); i++){                        temp[i] = data[i];                }                data = temp;                delete temp;                length += length;        }        if (!this->contains(num)){                if (pos == 0)                        data[pos] = num;                else if (num > data[pos - 1])                        data[pos] = num;                else {                        T *t = new T[pos];                        for (int j = 0; j < pos; j++){                                t[j] = data[j];                        }                        for (int j = 0; j < pos; j++){                                if (num < data[j]){                                        data[j] = num;                                        for (int k = j + 1; k < pos + 1; k++){                                                data[k] = t[k - 1];                                        }                                }else if ((num > data[j]) && (num < data[j+1])){                                        data[j + 1] = num;                                        for (int k = j + 2; k < length; k++){                                                data[k] = t[k - 1];                                        }                                }                        }                }                pos++;        }}