Til opgaverne herunder kan anvendes skabelonen fra fagets GitHub repository. Du finder skabelonen under / modul10 / search.
Projektets metoder kan testes med kommandoen.
$ dotnet test
Tag dig ikke af alle fejlene du får når du kører test. Testene vil helt naturligt fejle indtil koden der testes er skrevet færdig. Brug testene til at se om din kode har fejl, men vær opmærksom på, at testene ikke nødvendigvis fanger alle fejl i din kode.
Du skal lave metoderne i filen Search.cs færdig jvf. opgaverne herunder. I filen Search.Test.cs kan du se hvordan koden testes.
Skriv noget C#-kode der udfører lineær søgning på et array af int. Du må ikke bruge indbyggede array-metoder, LINQ eller lignende. Hele algoritmen skal implementeres uafhængigt at indbyggede metoder til søgning i .NET.
I skabelonen skrives koden i metoden FindNumberLinear.
Lav opgave 1 igen, men med binær søgning i stedet for lineær. Du kan genbruge skabelonen og arrayet.
I skabelonen skrives koden i metoden FindNumberBinary.
Skriv kode der indsætter et positivt tal i et sorteret array. Array skal fortsat være sorteret efter indsættelse.
Da et array ikke kan udvides i C#, skal der være plads nok i arrayet til indsættelse af et nyt tal. Ubrugte pladser i arrayet skal sættes til -1. Du får brug for en variabel der holder styr på næste ledige index. Hvis der ikke længere er plads i arrayet, skal metoden blot returnerer en kopi af arrayet uden ændringer.
Herunder er et eksempel på et array, hvor de første seks pladser er fyldte, og resten er tomt.
var next = 6;
var sortedArray = new int[] { 2, 4, 8, 10, 15, 17, -1, -1, -1, -1 };
I skabelonen skrives koden i metoden InsertSorted.