double operator()(BasicArray<double>& vec) { double ans=0.0; for (unsigned int i=0; i<vec.size(); i++) ans += vec[i]*vec[i]; return ans; }
bool BasicArray<T>::compare(const BasicArray<T>& a) const { size_t n = size(); if (a.size() != n) return false; const T* data_1 = reinterpret_cast<const T*>(m_data); const T* data_2 = reinterpret_cast<const T*>(a.m_data); return std::equal(data_1, data_1+n, data_2); }
BasicArray::BasicArray(const BasicArray& ba) { size_ = ba.size(); data_ = new double[size_]; double *pos = ba.data_; for (int i = 0; i < size_; ++i,++pos) { data_[i] = *pos; } }
//void jj::selectionSort(BasicArray& a){ // int tmp(0); // for ( int i = 0; i < a.size(); ++i) { // int k = i; // for (int j = i+1; j < a.size(); ++j){ // if ( a[j] < a[k] ){ // k = j; // } // } // tmp = a[k]; // a[k] = a[i]; // a[i] = tmp; // } //} void jj::selectionSort(BasicArray& a) { int i,j,k; for(i=0;i<a.size();++i) { k=i; for(j=i+1;j<a.size();++j) { if(a[j]<a[k]) k=j; } //swap(a[i],a[k]); if ( i != k) { int tmp = a[k]; a[k] = a[i]; a[i] = tmp; } std::cout << a; } }
/*! \brief copy constructor \param f2 the BasicArray to copy \author Philippe Lavoie \date 24 January 1997 */ template<class T> BasicArray<T>::BasicArray(const BasicArray<T>& f2) { rsize = sze = 0 ; x = 0 ; resize(f2.size()); T *p2,*p1 ; p1 = x-1 ; p2 = f2.x - 1 ; for (int k = rsize; k >0; --k) *(++p1) = *(++p2) ; destruct = 1 ; }