Array Reserve
2010-04-23 18:55 蜡笔小旧 阅读(332) 评论(0) 编辑 收藏 举报代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SurfaceQuestion.Grammar
{
public class ArrayReverse
{
public ArrayReverse()
{
int[] a = new int[] { 1, 2, 3, 4, 5, 6 };
this.Way1(a);
Console.WriteLine("_____________________");
this.Way2(a);
Console.WriteLine("_____________________");
this.Way3(a);
}
/// <summary>
/// 新数组
/// </summary>
private void Way1(int[] a)
{
int[] b = new int[a.Length];
for (int i = 0; i < a.Length; i++)
{
Console.WriteLine("count:"+i);
Console.Write(a[i]);
b[i] = a[a.Length - 1 - i];
}
Console.WriteLine();
foreach (var item in b)
{
Console.Write(item);
}
}
/// <summary>
/// 临时变量
/// </summary>
/// <param name="a"></param>
private void Way2(int[] a)
{
foreach (var item in a)
{
Console.Write(item);
}
int temp = 0;
for (int i = 0; i < a.Length/2; i++)
{
Console.WriteLine("count:" + i);
temp = a[i];
a[i] = a[a.Length - 1 - i];
a[a.Length - 1 - i] = temp;
}
Console.WriteLine();
foreach (var item in a)
{
Console.Write(item);
}
}
/// <summary>
/// while
/// mscorlib实现方式
/// </summary>
/// <param name="a"></param>
private void Way3(int[] a)
{
foreach (var item in a)
{
Console.Write(item);
}
int num = 0;
int num2 = a.Length - num - 1;
while (num2 > num)
{
Console.WriteLine("count:" + num);
int temp = a[num];
a[num] = a[num2];
a[num2] = temp;
num++;
num2--;
}
Console.WriteLine();
foreach (var item in a)
{
Console.Write(item);
}
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SurfaceQuestion.Grammar
{
public class ArrayReverse
{
public ArrayReverse()
{
int[] a = new int[] { 1, 2, 3, 4, 5, 6 };
this.Way1(a);
Console.WriteLine("_____________________");
this.Way2(a);
Console.WriteLine("_____________________");
this.Way3(a);
}
/// <summary>
/// 新数组
/// </summary>
private void Way1(int[] a)
{
int[] b = new int[a.Length];
for (int i = 0; i < a.Length; i++)
{
Console.WriteLine("count:"+i);
Console.Write(a[i]);
b[i] = a[a.Length - 1 - i];
}
Console.WriteLine();
foreach (var item in b)
{
Console.Write(item);
}
}
/// <summary>
/// 临时变量
/// </summary>
/// <param name="a"></param>
private void Way2(int[] a)
{
foreach (var item in a)
{
Console.Write(item);
}
int temp = 0;
for (int i = 0; i < a.Length/2; i++)
{
Console.WriteLine("count:" + i);
temp = a[i];
a[i] = a[a.Length - 1 - i];
a[a.Length - 1 - i] = temp;
}
Console.WriteLine();
foreach (var item in a)
{
Console.Write(item);
}
}
/// <summary>
/// while
/// mscorlib实现方式
/// </summary>
/// <param name="a"></param>
private void Way3(int[] a)
{
foreach (var item in a)
{
Console.Write(item);
}
int num = 0;
int num2 = a.Length - num - 1;
while (num2 > num)
{
Console.WriteLine("count:" + num);
int temp = a[num];
a[num] = a[num2];
a[num2] = temp;
num++;
num2--;
}
Console.WriteLine();
foreach (var item in a)
{
Console.Write(item);
}
}
}
}