% %>
![]() |
![]() |
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
|
||