冒泡排序字符串数组c#

时间:2016-07-27 23:35:23

标签: c# arrays sorting bubble-sort

我有这个项目,我必须对一些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);
}

2 个答案:

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

}

使用了这段代码......上次我试过这个时忘记了一些回答