<% %> Slaughterarts
   News... | Hack-Acad | Downloads | Web-Projekte | System-Check | Kontakt
HACKACAD - ASP Array

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