SNumList

Liste ganzer Zahlen

Vererbung

Basisklassen(n)   abgeleitete Klassen
  SNumList  

Attribute

protected:

Attribut Typ Beschreibung
list long* internes Array der Listenelemente
listsize int aktuelle Größe der Liste
memsize int aktuell reservierter Speicherplatz der Liste

Operationen

public:

Name Parameter Rückgabewert Beschreibung
add int Fügt ein leeres Element an die Liste an.
add long element,
BOOL noDoubleEntries=false
int Fügt ein Element zur Liste hinzu.
find long value,
int start=0
int Sucht einen Wert in der Liste und gibt die gefundene Position zurück.
fromInputString const SString& text,
BOOL removeOldEntrys=false,
SString* syntaxError=NULL
BOOL Parst eine Eingabezeile und füllt die Liste.
fromString const SString& peText,
const SString& separator=",
"
int Füllt die Liste aus dem übergebenen String.
getAt int pos long& Liefert ein Element der Liste.
getBuffer long* Liefert den internen Datenpuffer.
getSize int Liefert die aktuelle Listengröße.
insertAt int pos int Fügt ein leeres Element in die Liste ein.
insertAt int pos,
long element
int Fügt ein Element in die Liste ein.
isEmpty BOOL Ermittelt, ob die Liste leer ist.
operator[] int pos long& Zugriffsoperator per Index.
removeAll void Löscht alle Elemente aus der Liste.
removeAt int pos void Löscht ein Element aus der Liste.
removeValue long value int Löscht alle Einträge eines Wertes aus der Liste.
setAt int pos,
long value
BOOL Ändert den Wert eines Eintrages.
sort int dir = 1 void Sortiert die Liste.
splitNumByString int value,
const SString& splitRule
void Teilt einen Wert anhand einer textuellen Regel auf. zum Beispiel "20%,30%*" oder "30,*,50".
toString const SString& trennText SString Erstellt eine Zeichenkette aus der Liste.

protected:

Name Parameter Rückgabewert Beschreibung
compareEntries int pos1, int pos2 int Vergleicht zwei Listeneinträge miteinander.
compareValue int pos,
long value
int Vergleicht ein Listenelement mit einem übergebenen Wert.
quicksort int start,
int ende,
int dir = 1
void Führt die Sortierung durch.
resize int size void Ändert die Größe des für die Liste reservierten Speichers.
swap int pos1, int pos2 void Vertauscht zwei Listeneinträge.

Detailbeschreibung SNumList

Liste ganzer Zahlen

Funktionsbeschreibungen

add() int

Fügt ein leeres Element an die Liste an.

Rückgabe:

int Position des eingefügten Elementes

add(long element, BOOL noDoubleEntries=false) int

Fügt ein Element zur Liste hinzu.

Das Element wird am Ende der Liste angefügt. Ist der Parameter 'noDoubleEntries' true, wird zuerst die bestehende Liste überprüft, ob der Eintrag schon vorhanden ist. In diesem Fall wird das neue Element nicht eingefügt sondern nur die Position des ersten identischen Elements zurückgegeben.

Parameter:

element das neue Listenelement
noDoubleEntries doppelte Einträge verhindern (Standard: false)

Rückgabe:

int Position des eingefügten bzw. gefundenen Elementes

compareEntries(int pos1, int pos2) int

Vergleicht zwei Listeneinträge miteinander.

Parameter:

pos1 1. Eintrag für Vergleich
pos2 2. Eintrag für Vergleich

Rückgabe:

int Vergleichsergebnis
  • -1 Element an 'pos1' ist kleiner
  • 0 Elemente sind gleichgroß
  • 1 Element an 'pos2' ist kleiner

compareValue(int pos, long value) int

Vergleicht ein Listenelement mit einem übergebenen Wert.

Parameter:

pos Listenelement für Vergleich
value Wert für Vergleich

Rückgabe:

int Vergleichsergebnis
  • -1 Listenelement ist kleiner
  • 0 Elemente sind gleichgroß
  • 1 übergebener Wert ist kleiner

find(long value, int start=0) int

Sucht einen Wert in der Liste und gibt die gefundene Position zurück.

Parameter:

value gesuchter Wert
start Startposition

Rückgabe:

int Position des Wertes oder -1 wenn nicht gefunden

fromInputString(const SString& text, BOOL removeOldEntrys=false, SString* syntaxError=NULL) BOOL

Parst eine Eingabezeile und füllt die Liste.

Gültige Einträge (mit Leerzeichen,Tab oder Kommata getrennt) sind (siehe auch SString::toInt() )
- 0x..... -> Hexadezimale Zahl
- 0b..... -> binäre Zahl
- "......" -> jedes Zeichen wird ein Bytes
- Dezimalzahlen

Parameter:

text umzuwandelnder Text
removeOldEntrys wenn true werden alte Einträge der Liste gelöscht
syntaxError wenn!=NULL wird ein Syntax-Check durchgeführt und in diesem SString der Fehler zurückgegeben und PA=false; wenn==NULL werden Fehler ignoriert/kompensiert

Rückgabe:

BOOL false wenn Fehler oder Syntaxfehler

fromString(const SString& peText, const SString& separator=",") int

Füllt die Liste aus dem übergebenen String.

Alle vorhandenen Listeneinträge werden gelöscht.

Parameter:

peText SString aus dem die Liste gefüllt wird
separator zu verwendende Trennzeichen (auch mehrere)

Rückgabe:

int Anzahl der eingelesenen Listeneinträge

getAt(int pos) long&

Liefert ein Element der Liste.

Das entsprechende Element der Liste wird zurückgegeben. Bei einem Zugriff auf einen Index außerhalb der Listengröße wird nach einer Fehlermeldung wenn möglich das erste oder das letzte Listenelement zurückgegeben.

Parameter:

pos Index des gewünschten Elements

Rückgabe:

long& das ausgewählte Listenelement

getBuffer() long*

Liefert den internen Datenpuffer.

getSize() int

Liefert die aktuelle Listengröße.

insertAt(int pos) int

Fügt ein leeres Element in die Liste ein.

Die Liste wird entsprechend vergrößert. Es muss eine gültige Position (zwischen 0 und der Listengröße) angegeben werden.

Parameter:

pos Position, an der eingefügt werden soll

Rückgabe:

int Position des eingefügten Elements oder -1 bei ungültiger Positionsangabe

insertAt(int pos, long element) int

Fügt ein Element in die Liste ein.

Das Element wird an der angegebenen Stelle eingefügt. Die Liste wird entsprechend vergrößert. Es muss eine gültige Position (zwischen 0 und der Listengröße) angegeben werden.

Parameter:

pos Position, an der eingefügt werden soll
element einzufügendes Element.

Rückgabe:

int Position des eingefügten Elements oder -1 bei ungültiger Positionsangabe

isEmpty() BOOL

Ermittelt, ob die Liste leer ist.

operator[](int pos) long&

Zugriffsoperator per Index.

Ermöglicht den Zugriff auf die Listenelemente per Index-Operator ([]). Es sind nur gültige Positionsangaben möglich.

Parameter:

pos Index des gewünschten Elements

Rückgabe:

long& Das gewünschte Element.

quicksort(int start, int ende, int dir = 1) void

Führt die Sortierung durch.

removeAll() void

Löscht alle Elemente aus der Liste.

removeAt(int pos) void

Löscht ein Element aus der Liste.

Das Element an der angegebenen Position wird gelöscht. Die Position muss einen gültigen Wert (zwischen 0 und Listengröße-1) enthalten.

Parameter:

pos Position des zu löschenden Elements

removeValue(long value) int

Löscht alle Einträge eines Wertes aus der Liste.

Parameter:

value Wert der zu löschenden Einträge

Rückgabe:

int Anzahl der gelöschten Einträge

resize(int size) void

Ändert die Größe des für die Liste reservierten Speichers.

Parameter:

size Anzahl der Listenelemente für die Speicher benötigt wird

setAt(int pos, long value) BOOL

Ändert den Wert eines Eintrages.

Der Wert des angegebenen Eintrages wird überschrieben. Die Position muss einen gültigen Wert enthalten.

Parameter:

pos Position, an der geändert werden soll
value neuer Wert

Rückgabe:

BOOL Änderung durchgeführt

sort(int dir = 1) void

Sortiert die Liste.

Parameter:

dir Sortierrichtung (Standard: aufsteigend)

splitNumByString(int value, const SString& splitRule) void

Teilt einen Wert anhand einer textuellen Regel auf. zum Beispiel "20%,30%*" oder "30,*,50".

Die Liste wird auf die Ergebniswerte gesetzt, der vorherige Inhalt der Liste geht verloren.

Parameter:

value aufzuteilender Wert
splitRule anzuwendende Regel, je Ergebniswert eine Zahl oder ein Prozentwert vom Ganzen oder der Stern für den Rest

swap(int pos1, int pos2) void

Vertauscht zwei Listeneinträge.

Die beiden Positionsangaben müssen gültige Werte beinhalten.

toString(const SString& trennText) SString

Erstellt eine Zeichenkette aus der Liste.

Parameter:

trennText Trennzeichen zwischen den Werten

Rückgabe:

SString die Liste als Zeichenkette