IComparable interfaces.. Sorting and Searching
Hejsa,Til min liste<>, har jeg brugt IComparable og CompareTo..
Her nedenunder er koden for Sortering af min liste..
Men jeg er selv lidt forvirret og ikke helt ved hvordan jeg skal aflæse int number og int number2 delen, og udtrykket i min if/else statement.. Selvom det virker, ved jeg ikke hvordan jeg ville kunne forklar det til til min eksamen..
Kan det passe at en Icomparable interfaces med metoden CompareTo(), er en binære søgning? eller er det noget man skal implementere yderligere, hvis man vil ha en binære søgning?
Jeg har min liste som jeg har sorteret (som en binære søgning kræver først) og derefter inddeler jeg det i en if/else statement dem i to Sublister ? Eller er jeg helt forkert i den..
public string OpenHouseSorting(char one, char two)
{
List<OpenHouseSort> liste = OpenHouse();
liste.Sort();
List<string> new_liste = new List<string>();
char c = one;
char c2 = two;
int number = (c < 97 ? c - 64 : c - 96); //to ascii
int number2 = (c2 < 97 ? c2 - 64 : c2 - 96); //to ascii
for (int i = number - 1; i < number2; i++)
{
if (one < 97)
{
new_liste.Add(string.Join(Environment.NewLine, liste.Where(x
=> x.VejNavn[0] == ((char)(i + 65)))));
}
else
{
new_liste.Add(string.Join(Environment.NewLine, liste.Where(x
=> x.VejNavn[0] == ((char)(i + 97)))));
}
}
return string.Join(Environment.NewLine, new_liste);
}