我有这个项目,我必须对一些txt文件进行排序,其中大多数是数字,但其中一个是几个月的集合。我有代码排序其他人但不包含月份的文件。所以我需要更改此代码,以便我可以对字符串数组进行排序,任何建议都会非常棒,谢谢!
public void SortArray(decimal[] numbers)
{
bool swap;
decimal temp;
do
{
swap = false;
for(int index = 0; index < (numbers.Length - 1); index ++)
{
if ( numbers[index] > numbers[index+1])
{
//swap
temp = numbers[index];
numbers[index] = numbers[index + 1];
numbers[index + 1] = temp;
swap = true;
}
}
} while (swap == true);
}
答案 0 :(得分:1)
如果您有这样的字符串数组:
string[] s = {"bbb", "ccc", "aaa"};
使用以下方法对其进行排序的较短方式:
Array.Sort(s);
使用以下方法对其进行排序:
for (var i = 1; i < s.Length; i++)
{
for (var j = 0; j < s.Length - i; j++)
{
if (string.Compare(s[j], s[j + 1], StringComparison.Ordinal) <= 0) continue;
var temp = s[j];
s[j] = s[j + 1];
s[j + 1] = temp;
}
}
答案 1 :(得分:0)
public void BubbleSortArrayString(string[] letters) //change here
{
bool swap;
string temp; //change this too
do
{
swap = false;
for (int index = 0; index < (letters.Length - 1); index++)
{
if (letters[index] > letters[index + 1]) //if first number is greater then second then swap
{
//swap
temp = letters[index];
letters[index] = letters[index + 1];
letters[index + 1] = temp;
swap = true;
}
}
} while (swap == true);
}
使用了这段代码......上次我试过这个时忘记了一些回答