Va bene, ho usato questo codice per fare una selezione sorta su interi:C# Selezione sorta con le stringhe
public void selectSort(int [] arr)
{
//pos_min is short for position of min
int pos_min,temp;
for (int i=0; i < arr.Length-1; i++)
{
pos_min = i; //set pos_min to the current index of array
for (int j=i+1; j < arr.Length; j++)
{
if (arr[j] < arr[pos_min])
{
//pos_min will keep track of the index that min is in, this is needed when a swap happens
pos_min = j;
}
}
//if pos_min no longer equals i than a smaller value must have been found, so a swap must occur
if (pos_min != i)
{
temp = arr[i];
arr[i] = arr[pos_min];
arr[pos_min] = temp;
}
}
}
ma ora voglio correre lo stesso algoritmo in un elenco stringa invece.
Come potrebbe essere realizzato? Sembra davvero imbarazzante e come se avessi bisogno di loop aggiuntivi per confrontare più caratteri di stringhe diverse ...?
Ho provato molto, ma non sono riuscito a trovare nulla di utile. :/
Nota: Lo so, l'ordinamento di selezione non è molto efficiente. Questo è solo per scopi di apprendimento. Non sto cercando algoritmi alternativi o classi che fanno già parte di C#. ;)
Ma è possibile utilizzare anche operatori come '<', '>', '==' e '! =' Per le stringhe. Non è necessario scorrere i personaggi. –
Non proprio quello che stai cercando - se non puoi usare il confronto di stringhe incorporato devi scrivere una sorta di ciclo per confrontare i caratteri. –