Abstrakte datatyper – C#-version
Abstrakte datatyper – C#-version
Abstrakte datatyper – C#-version
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
NOEA/IT <strong>–</strong> Programmeringsteknologi/<strong>C#</strong>.NET FEN/2004-02-20<br />
Vi vil prøve at lave en metode mere, som arbejder på sekvenser. Metoden skal tælle antal store<br />
tal i en sekvens:<br />
Vi giver den navnet countBigOnes. Metoden skal returnere et heltal - nemlig antallet af store tal -<br />
og have en sekvens som parameter. Vi vedtager, at i denne sammenhæng er et tal stort, hvis det<br />
er større end 20.<br />
En algoritme, som løser opgaven, kan udvikles udfra følgende idé: Kik på hvert element i<br />
sekvensen, hvis tallet er større end 20, så tæl en variabel op med én.<br />
Alle elementer skal undersøges, så der er tydeligvis tal om en sweep-algoritme. Elementerne skal<br />
ikke ændres, så vi kan bruge foreach-løkken i <strong>C#</strong>:<br />
Placeres denne metode i klassen TestSeqInt kan den kaldes fra Main() med:<br />
Console.WriteLine(CountBigOnes(sekvens);<br />
Andre abstrakte <strong>datatyper</strong><br />
public static int CountBigOnes(ArrayList s)<br />
{<br />
int antal= 0;<br />
foreach(int x in s)<br />
if(x>20) antal++;<br />
return antal;<br />
}<br />
I det følgende vil vi kort kikke på en række andre hyppigt anvendte abstrakte <strong>datatyper</strong>.<br />
Stak<br />
Stakken er en abstrakt datatype, som gemmer data efter LIFO (Last In First Out)-princippet. De<br />
almindelige operationer er:<br />
• Push(e), som placerer elementet e øverst på stakken<br />
• Top(), som returner det seneste placerede element fra stakken uden at ændre stakken<br />
• Pop(), som fjerner (og evt. returnerer) det seneste placerede element fra stakken.<br />
7/9