// vector - template osztály #ifndef VECTORH_H #define VECTORH_H #include #include #include "String3.h" using namespace std; using namespace HomeMadeString; template class vector { protected: unsigned int elementNum; unsigned int curPos; T *pData; friend std::ostream& operator<<(std::ostream&,const vector&); public: vector() {curPos=elementNum=0;pData=NULL; }; vector(const vector &v){ curPos=elementNum=0;pData=NULL; *this = v; }; ~vector() {delete[]pData;} const vector& operator =(const vector &v){ if (pData!=NULL) delete []pData; pData = new T[elementNum=v.size()]; for(int i=0;ielementNum) ? v.elementNum : elementNum; // a nagyobb m = (v.elementNum>elementNum) ? elementNum : v.elementNum; // a kisebb (c).pData = new T[(c).elementNum=k]; // helyfoglalas a nagyobbnak for(int i=0;ielementNum) ? c.pData[i]=v.pData[i] : c.pData[i]=pData[i]; return c; }; vector operator &&(const vector &v) const{ //összefésül két tömböt vector c; int k,n; k=n=0; c.pData = new T[c.elementNum=v.elementNum+elementNum]; for (int i=0;i1) {return (a.mergesort())&&(b.mergesort());} // ha elég hosszúak összefésüljük őket else {if (a.elementNum>0) return a; if (b.elementNum>0) return b; }; }; int size()const{return elementNum;} // Visszatér a tömb méretével int getCpos()const{return curPos;} // Visszatér a tömb méretével int incCpos() {curPos++;if (curPos > elementNum) curPos=elementNum; return 0;} void clear(){ // Törli a tömböt while(0=0)&&(pos0)&&(pos0)&&(pos &v){ // Beszúr több elemet a következő helyre. T *ptr; ptr = new T[elementNum+NumberOfInserts]; for (int i=0;i v; for (int i=0;i& v) { for (int i=0;i& v) { for (int i=0;i& v) { for (int i=0;i& v) { for (int i=0;i& v) { for (int i=0;i