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);
}
Run Code Online (Sandbox Code Playgroud)
我设法冒泡排序十进制,但我吮吸一个字符串,我有一个文本文件有几个月,我需要按字母顺序排序.我收到错误:
operator>不能应用于字符串和字符串类型
帮助将不胜感激.
您可以使用string.Compare(x,y)代替<,如果字符串相等则返回0,否则返回一个整数,表示它们在排序顺序中的相对位置
for (int index = 0; index < (letters.Length - 1); index++)
{
if (string.Compare (letters[index], letters[index + 1]) < 0) //if first number is greater then second then swap
{
//swap
temp = letters[index];
letters[index] = letters[index + 1];
letters[index + 1] = temp;
swap = true;
}
}
Run Code Online (Sandbox Code Playgroud)
如果你想在比较期间忽略大小写,你应该使用 string.Compare (letters[index], letters[index + 1], true)