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,64 @@
// Ein Listenelement
struct IntListElem {
IntListElem* next; // Zeiger auf nächstes Element
int value; // Daten zu diesem Element
} ;
// Eine Liste
struct IntList {
int count; // Anzahl Elemente in der Liste
IntListElem* first; // Zeiger auf erstes Element der Liste
} ;
// Initialisiere eine Listenstruktur
void empty_list (IntList* l)
{
l->first = 0; // 0 ist keine gueltige Adresse: Liste ist leer
l->count = 0;
}
// Fuege ein Element nach einem gegebenem ein
void insert_in_list (IntList* list, IntListElem* where, IntListElem* ins)
{
if (where==0) // fuege am Anfang ein
{
ins->next = list->first;
list->first = ins;
list->count = list->count + 1;
}
else // fuege nach where ein
{
ins->next = where->next;
where->next = ins;
list->count = list->count + 1;
}
}
// Entferne ein Element nach einem gegebenem
// Liefere das entfernte Element zurueck
IntListElem* remove_from_list (IntList* list, IntListElem* where)
{
IntListElem* p; // das entfernte Element
// where==0 dann entferne erstes Element
if (where==0)
{
p = list->first;
if (p!=0)
{
list->first = p->next;
list->count = list->count - 1;
}
return p;
}
// entferne Element nach where
p = where->next;
if (p!=0)
{
where->next = p->next;
list->count = list->count - 1;
}
return p;
}