我正在为 uni 做这个作业,要求是我使用任何排序算法按字母顺序对 List 进行排序(不区分大小写)。基本上说如果列表包含一些字符串,例如“a”“C”“b”“1”和“3”,它会将其排序为“1”“3”“a”“b”“C”或“ a" "b" "C" "1" "3" 我知道如何对整数数组进行排序(下面的代码使用交换排序),但我该如何使用字符串列表呢?如何修改下面的代码以按字母顺序对字符串列表进行排序,同时仍然保持交换排序的原则(在这种情况下)?
注意:我不允许使用List<string>.Sort()
或其他一些简单的代码。
// sort a vector of type int using exchange sort
public void ExchangeSort(int[] array)
{
int pass, i, n = array.Length;
int temp;
// make n-1 passes through the data
for (pass = 0; pass < n - 1; pass++)
{
// locate least of array[pass] ... array[n - 1]
// at array[pass]
for (i = pass + 1; i < n; i++)
{
if (array[i] < array[pass])
{
temp = array[pass];
array[pass] = array[i];
array[i] = temp;
}
}
}
}