算法之“本末倒置”-1
算法之:本末倒置
已知一个顺序表表,写一个算法将其倒置:实现效果:

算法思路:把第一个元素与最后一个元素交换,把第二个元素与倒数第二个元素交换,一般地,把第i个元素与第n-i个元素交换,
i的取值范围是0到n/2(n为顺序表的长度)。
实现代码如下:
using System;
using System.Collections;
namespace Ayylist
{
class Program
{
static void Main(string[] args)
{
int[] Ayy =new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 };
ArrayList list = new ArrayList();
NewMethod(Ayy, list);
int tmp = 0;
int len = list.Count;
for (int i = 0; i < len / 2; ++i)
{
tmp = (int)list[i];
list[i] = list[len - i-1];
list[len - i-1] = tmp;
}
Console.WriteLine();
foreach (int s in list)
{
Console.Write(s.ToString()+" ");
}
Console.ReadKey();
}
private static void NewMethod(int[] Ayy, ArrayList list)
{
foreach (int nu in Ayy)
{
list.Add(nu);
Console.Write(nu+" ");
}
}
}
}

浙公网安备 33010602011771号