私はこのバブルソートアルゴリズムを使って "arr1"をソートしています。C#3つの配列をバブルソートで並べ替えます。
static int yearAscDes(int value)`
{
if (value == 0)
{
int[] arr1 = { 1930, 1931, 2016, 2014, 2012 };
int temp1 = 0;
for (int i1 = 0; i1 < arr1.Length; i1++)
{
for (int j1 = 0; j1 < arr1.Length - 1; j1++)
{
if (arr1[j1] < arr1[j1 + 1])
{
temp1 = arr1[j1 + 1];
arr1[j1 + 1] = arr1[j1];
arr1[j1] = temp1;
}
}
}
for (int i1 = 0; i1 < arr1.Length; i1++)
{
Console.Write(arr1[i1] + " \n");
}
return 0;
}
このアルゴリズムを使って3つの異なる配列を並べ替えることをお奨めします。
int[] arr1 = {1930, 1931, 2016, 2014, 2012};
string[] Months = {"Jan", "March", "Dec", "May", "Sept"};
int[] Num = {10, 5, 1, 3, 12};
私はこれらの配列を持っていた私は、ソートの昇順でARR1場合、私は結果は次のようになりたい:
結果:
ARR1ヶ月間のNum
2016 12月1日
2014 5月3
2012年9月12日
1931 3月5日
1930 1月10日
のようにいろいろ書いべきか? –
@SamIamはこのデータ構造に固執しなければならないと言っても間違いありませんが、 'arr1 [j1 + 1] = arr1 [j1];と言ったときに' Months [j1 + temp2 = Months [j1 + 1]およびtemp3 = Num [j1 + 1] = Num [j1];およびNum [j1 + 1] = Num [j1] 1] ' –
日付が3つの配列に分割されているのは、わたしにとっては直感的ではないようです。その巨大な並べ替え機能を自分自身で保存して、@ Samamが言っていることと一緒に行くことができます。 – rinukkusu