Example #1
0
 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);
}
Example #3
0
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;
	}
}
Example #4
0
//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;
	}
}
Example #5
0
/*!
  \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 ;
}