2016-07-27 16 views
-3

私はいくつかのtxtファイルを並べ替える必要があるこのプロジェクトを持っています。それらのほとんどは数字ですが、その1つは月のコレクションです。私は月を含むファイルではなく、他のものをソートするコードを持っています。だから、私は文字列配列を並べ替えることができるようにこのコードを変更する必要があります任意のアドバイスは華麗なありがとう!バブルソート文字列配列C#

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

は '文字列[]'を仕分けに関連するスタックオーバーフローの記事がたくさんありますしようとしたいくつかの答えの最後の時間を忘れてしまいました。より具体的にしてください。何を試しましたか?具体的に何が助けを必要としますか?具体的に何が助けになるのかを正確に説明しながら、問題を解決しようとしていることを明確に示す良い[mcve]を提供してください。 –

答えて

1

次のような文字列配列している場合:使用して、

Array.Sort(s); 

と長い道のりを、それをソートする:

string[] s = {"bbb", "ccc", "aaa"}; 

短い方法が使用して、それをソートする

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

}このコードを使用し

は...私はこの