January 2004
Beginner to intermediate
864 pages
22h 18m
English
The
Array.Reverse method does not provide a way to
reverse each subarray in a jagged array. You need this functionality.
Use the ReverseJaggedArray
method:
public static void ReverseJaggedArray(int[][] theArray)
{
for (int rowIndex = 0;
rowIndex <= (theArray.GetUpperBound(0)); rowIndex++)
{
for (int colIndex = 0;
colIndex <= (theArray[rowIndex].GetUpperBound(0) / 2);
colIndex++)
{
int tempHolder = theArray[rowIndex][colIndex];
theArray[rowIndex][colIndex] =
theArray[rowIndex][theArray[rowIndex].GetUpperBound(0) -
colIndex];
theArray[rowIndex][theArray[rowIndex].GetUpperBound(0) -
colIndex] = tempHolder;
}
}
}The following TestReverseJaggedArray method shows
how the ReverseJaggedArray method is used:
public static void TestReverseJaggedArray( )
{
int[][] someArray =
new int[][] {new int[3] {1,2,3}, new int[6]{10,11,12,13,14,15}};
// Display the original array
for (int rowIndex = 0; rowIndex < someArray.Length; rowIndex++)
{
for (int colIndex = 0;
colIndex < someArray[rowIndex].Length; colIndex++)
{
Console.WriteLine(someArray[rowIndex][colIndex]);
}
}
Console.WriteLine( );
ReverseJaggedArray(someArray);
// Display the reversed array
for (int rowIndex = 0; rowIndex < someArray.Length; rowIndex++)
{
for (int colIndex = 0;
colIndex < someArray[rowIndex].Length; colIndex++)
{
Console.WriteLine(someArray[rowIndex][colIndex]);
}
}
}This method displays the following:
1 2 3 10 11 12 13 14 15 3 ← The first reversed subarray 2 1 15 ←