内の各値を印刷:、私はこのような状況を持って円形配列
int[] array = new int[] {7, 5, 6}
私のインデックスiの値は1で、それは私の架空の循環リストの先頭を指しています。ゼロ位置の値「7」はテールです。
私の目的は、印刷することです:
5,6,7
は、私は特定の構造が必要ですか私は単純な配列でそれを行うことができますか?
内の各値を印刷:、私はこのような状況を持って円形配列
int[] array = new int[] {7, 5, 6}
私のインデックスiの値は1で、それは私の架空の循環リストの先頭を指しています。ゼロ位置の値「7」はテールです。
私の目的は、印刷することです:
5,6,7
は、私は特定の構造が必要ですか私は単純な配列でそれを行うことができますか?
すぐには何もありませんが、以下はアレイの周りを包み込むでしょう。あなたは5,6,7を印刷したい場合は
int[] array = new int[] { 7, 5, 6 };
int startPosition = 1;
string result = "";
// Run from the start position to the end of the array
for (int i = startPosition; i < array.Length; i++)
{
result += array[i] + ",";
}
// Wrapping around, run from the beginning to the start position
for (int i = 0; i < startPosition; i++)
{
result += array[i] + ",";
}
// Output the results
result = result.TrimEnd(',');
Console.WriteLine(result);
Console.Read();
あなたが使用できます。シングルで
int printIndex = 1;
for(int i = 0; i < array.Length; i++)
{
print(print(array[printIndex].ToString());
printIndex++;
if(printindex >= array.Length)
printindex = 0;
}
をループし、モジュロ演算子 "のために":
int[] array = new int[] {7, 5, 6};
int start = 1;
for (int idx=0; idx<array.Length; idx++)
Console.Write(array[(idx+start) % array.Length]);
ありがとう、これは正常に動作しています。 – Pickeroll
ソート配列、各インデックスを順番に印刷します。 – arbitrarystringofletters
[C#でリストを回転する最も簡単な方法]の複製があります(http://stackoverflow.com/questions/9948202/easiest-way-to-rotate-a-list-in-c-sharp) – Liam
'index =( index + 1)%array.Length; 'そういうもの。 –