Version 1.2

This commit is contained in:
Tzanio Kolev
2011-04-08 15:27:24 -07:00
parent 075e00e9be
commit 29ae8fb6ac
99 changed files with 19461 additions and 1840 deletions
+9 -13
View File
@@ -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>;