% %>
![]() |
![]() |
News... | Hack-Acad | Downloads | Web-Projekte | System-Check | Kontakt |
Array anlegen: DIM array(x) [x Anzahl der Elemente] Dynamische Größenzuordnung mit REDIM. Wertzuwesiung: array(x) = wert [x Element Position, wert beliebig] Alternativ (Deklaration/Initialisierung): array1 = array(wert1,wert2,wert3) Mulitdimensionale Arrays: DIM array(x,y) [x und y numerische Werte] |
Array Funktionen | Ausgabe | ||
UBound(array) | Numerischer Positionswert des letzten Elements (Grösse des Arrays) |
||
LBound(array) | Numerischer Positionswert des ersten Elements (in der Regel 0) |
||
IsArray(array) | Boolischer Wert Wahr/Falsch - prüft ob die Variable ein Array ist. |
||
Split(string,"trennzeichen") | Zerlegt den String anhand eines Trennzeichens in ein Array. |
||
Join(array1,"trennzeichen") | Setzt einen String mit angegebenen Trennzeichen aus den Array Inhalten zusammen. |
||
Erase array | Löscht die Elemente eines statischen Arrays (Speicher bleibt allokiert) Bei dynamischen Arrays wird der Speicher freigegeben. |
||
Filter(array, "string") | Filter Ergebnis speichern und ausgeben: tt = Filter(array1, ""we"") -> Ausgabe tt(0) |
Sortieralgorithmus | ASP Code | ||
Bubblesort |
' Aufruf erfolg mit: ' array = bubblesort(array) FUNCTION bubblesort(arrSort) FOR i = 0 TO UBOUND(arrSort) FOR j = i + 1 TO UBOUND(arrSort) IF arrSort(i) > arrSort(j) THEN arrTemp = arrSort(i) arrSort(i) = arrSort(j) arrSort(j) = arrTemp END IF NEXT NEXT bubblesort = arrSort END FUNCTION |
||
Quicksort |
' Aufruf erfolg mit: ' Call quicksort(arrSort,0,Ubound(arrSort)) SUB quicksort(mitt, anfang, ende) DIM hilf, obenTau, untenTau, temp IF ende - anfang = 1 AND mitt(anfang) > mitt(ende) THEN temp=mitt(anfang) mitt(anfang) = mitt(ende) mitt(ende) = temp END IF ' Mehr als 3 Elemente muessen sortiert werden hilf = mitt(INT((anfang + ende) / 2)) mitt(INT((anfang + ende) / 2)) = mitt(anfang) mitt(anfang) = hilf obenTau = anfang + 1 untenTau = ende DO 'Finden von obenTau WHILE obenTau < untenTau AND mitt(obenTau) <= hilf obenTau = obenTau + 1 WEND 'Finden von untenTau WHILE mitt(untenTau) > hilf untenTau = untenTau - 1 WEND 'Vertausche die Werte wenn obenTau kleiner als untenTau IF obenTau < untenTau THEN temp = mitt(obenTau) mitt(obenTau) = mitt(untenTau) mitt(untenTau) = temp END IF LOOP WHILE obenTau < untenTau mitt(anfang) = mitt(untenTau) mitt(untenTau) = hilf 'Aufruf der Sub rekursiv 'Sind zwei oder mehr Elemente in der ersten Teilmenge IF anfang < (untenTau - 1) THEN CALL quicksort(mitt,anfang,untenTau-1) end if 'Sind zwei oder mehr Elemente in der zweiten Teilmenge IF untenTau + 1 < ende THEN CALL quicksort(mitt,untenTau+1,ende) END IF END SUB |