冒泡排序字符串数组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);
}

冒泡排序字符串数组c#

如果您有这样的字符串数组:

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);

}

使用了此代码。。。上次我尝试这个时忘记了一些答案