restructure and add ipi texs

This commit is contained in:
2019-11-06 18:24:04 +01:00
parent e21da561fc
commit 8fd8d2a485
155 changed files with 129 additions and 0 deletions
@@ -0,0 +1,81 @@
// private Hilfsfunktionen
ListFloatArray::FloatListElem* ListFloatArray::insert (int i, float v)
{
FloatListElem* q = new FloatListElem;
q->index = i;
q->value = v;
q->next = p;
p = q;
n = n+1;
return q;
}
ListFloatArray::FloatListElem* ListFloatArray::find (int i)
{
for (FloatListElem* q=p; q!=0; q = q->next)
if (q->index==i)
return q;
return 0;
}
// Konstruktoren
ListFloatArray::ListFloatArray ()
{
n = 0; // alles leer
p = 0;
}
// Destruktor
ListFloatArray::~ListFloatArray ()
{
FloatListElem* q;
while (p!=0)
{
q = p; // q ist erstes
p = q->next; // entferne q aus Liste
delete q;
}
}
float& ListFloatArray::operator[] (int i)
{
FloatListElem* r=find(i);
if (r==0)
r=insert(i,0.0); // erzeuge index, r nicht mehr 0
return r->value;
}
int ListFloatArray::numIndices ()
{
return n;
}
int ListFloatArray::minIndex ()
{
if (p==0) return 0;
int min=p->index;
for (FloatListElem* q=p->next; q!=0; q = q->next)
if (q->index<min) min=q->index;
return min;
}
int ListFloatArray::maxIndex ()
{
if (p==0) return 0;
int max=p->index;
for (FloatListElem* q=p->next; q!=0; q = q->next)
if (q->index>max) max=q->index;
return max;
}
bool ListFloatArray::isMember (int i)
{
FloatListElem* r=find(i);
if (r!=0)
return true;
else
return false;
}