jagged arrays

Status
Niet open voor verdere reacties.

andreaugust

Gebruiker
Lid geworden
7 jan 2012
Berichten
105
Heb zo mogelijk graag volgende informatie.
Betreft arrays van arrays.
Een array bevat bv 1000 elementen, deze elementen zijn op hun beurt een array1 van bv 250 elementen en deze elementen zijn op hun beurt terug een array2 van bv 3 integers.
Hoe verklaar ik deze jagged array.
En hoe benader ik deze integers.
Bv integer 48 zit op plaats 1 van de array2 die het 23ste element is van array1, die op zijn beurt het 563ste element is van array.
Dank voor enig antwoord
 
gezien je in vb.net post zou ik zeggen zet het in een object :)

Hoe dynamisch moet het worden? Anders kun je mischien beter ook kijken naar lists en/of vectors. Als je je arrays vaak gaat vergroten krijg je een enorme overhead als je niet oppast.

er is ook een samenvatting hier:

http://msdn.microsoft.com/en-us/library/0ytkdh4s.aspx
 
Geachte,
De aantal kunnen op voorhand vastgelegd worden en zijn dus vast.
Ik wil deze methode gebruiken omdat er grote efficiëntie is bij het invoeren en ophalen van de integers.
 
Houdt er wel rekening mee dat je bij jagged arrays niet direct bij members kan komen. zoiets als: dearray(0,2,1) gaat dus niet. Je moet individuele members ophalen per laag. Het aantal members per laag kan wel verschillen op deze manier.

dearray(0) = 250 members
dearray(1) = 240 members
etc.

kan dus met jagged arrays. Als de setup vast is zou ik gaan voor een multidimensionale array. Voorbeeldje voor elke laag:

Code:
        Dim deArray()()() As Integer = New Integer(1000)()() {}
        Dim subarray()() As Integer
        Dim i As Long
        For i = 0 To UBound(deArray, 1)
            deArray(i) = New Integer(250)() {}

        Next i

        'MsgBox(UBound(deArray, 2))
        subarray = deArray(0)
        For i = 0 To UBound(subarray, 1)

            subarray(i) = New Integer(3) {}
        Next i
        deArray(0) = subarray

Wil je de laagste submembers wel eenvoudig benaderen zou ik er dus een class omheen schrijven die het gebruik wat makkelijker maakt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan