冒泡排序字符串数组c#
本文关键字:数组 字符串 冒泡排序 | 更新日期: 2023-09-27 17:59:08
我有一个项目,我必须对一些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);
}
如果您有这样的字符串数组:
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;
}
}
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);
}
使用了此代码。。。上次我尝试这个时忘记了一些答案