Version 1.2
This commit is contained in:
+9
-13
@@ -37,15 +37,15 @@ BaseArray::~BaseArray()
|
||||
delete [] (char*)data;
|
||||
}
|
||||
|
||||
void BaseArray::GrowSize (int minsize, int elementsize)
|
||||
void BaseArray::GrowSize(int minsize, int elementsize)
|
||||
{
|
||||
void *p;
|
||||
int nsize = (inc > 0) ? abs(allocsize) + inc : 2 * abs(allocsize);
|
||||
if (nsize < minsize) nsize = minsize;
|
||||
|
||||
p = new char [nsize * elementsize];
|
||||
p = new char[nsize * elementsize];
|
||||
if (size > 0)
|
||||
memcpy (p, data, size * elementsize);
|
||||
memcpy(p, data, size * elementsize);
|
||||
if (allocsize > 0)
|
||||
delete [] (char*)data;
|
||||
data = p;
|
||||
@@ -53,7 +53,7 @@ void BaseArray::GrowSize (int minsize, int elementsize)
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void Array<T>::Print (ostream & out, int width)
|
||||
void Array<T>::Print(ostream &out, int width)
|
||||
{
|
||||
for (int i = 0; i < size; i++)
|
||||
{
|
||||
@@ -66,25 +66,21 @@ void Array<T>::Print (ostream & out, int width)
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void Array<T>::Save(ostream & out)
|
||||
void Array<T>::Save(ostream &out)
|
||||
{
|
||||
int i;
|
||||
|
||||
out << size << '\n';
|
||||
|
||||
for (i = 0; i < size; i++)
|
||||
for (int i = 0; i < size; i++)
|
||||
out << operator[](i) << '\n';
|
||||
}
|
||||
|
||||
template <class T>
|
||||
T Array<T>::Max()
|
||||
{
|
||||
int i;
|
||||
T max;
|
||||
|
||||
if (size > 0)
|
||||
max = operator[](0);
|
||||
for (i = 1; i < size; i++)
|
||||
for (int i = 1; i < size; i++)
|
||||
if (max < operator[](i))
|
||||
max = operator[](i);
|
||||
|
||||
@@ -92,7 +88,7 @@ T Array<T>::Max()
|
||||
}
|
||||
|
||||
template <class T>
|
||||
int Compare (const void *p, const void *q)
|
||||
int Compare(const void *p, const void *q)
|
||||
{
|
||||
if (*((T*)p) < *((T*)q)) return -1;
|
||||
if (*((T*)q) < *((T*)p)) return +1;
|
||||
@@ -103,7 +99,7 @@ template <class T>
|
||||
void Array<T>::Sort()
|
||||
{
|
||||
// qsort((T*)data,0,size-1);
|
||||
qsort (data, size, sizeof(T), Compare<T>); // use qsort from stdlib.h
|
||||
qsort(data, size, sizeof(T), Compare<T>); // use qsort from stdlib.h
|
||||
}
|
||||
|
||||
template class Array<int>;
|
||||
|
||||
Reference in New Issue
Block a user