在C中的有这样一个递归函数int sum(int *a,int n)
{
''''''''
int sum1,sum2
sum1=*a+sum(a+2,n-2)
sum2=*(a+1)+sum(a+2,n-3)
if(sum1>sum2) return sum2;
else return sum2
}
sum函数里用到指针数组的参数,如果我在.net里要重新上面的函数,应该怎样写呢,
例如我也是传一个数组参数进去,但下面的递归就不行了,
C#
int sum(int[] a,int n)
{
''''''''''
sum1=a[0]+sum(?)
}
vb.net
public function Sum(a() as integer,n as integer) as integer
dim sum1,sum2 as integer
sum1 = a(0) + Sum(?)
end function
我应该怎样传参数进去,才能实现递归呢?或换另外一种方式。
{
''''''''
int sum1,sum2
sum1=*a+sum(a+2,n-2)
sum2=*(a+1)+sum(a+2,n-3)
if(sum1>sum2) return sum2;
else return sum2
}
sum函数里用到指针数组的参数,如果我在.net里要重新上面的函数,应该怎样写呢,
例如我也是传一个数组参数进去,但下面的递归就不行了,
C#
int sum(int[] a,int n)
{
''''''''''
sum1=a[0]+sum(?)
}
vb.net
public function Sum(a() as integer,n as integer) as integer
dim sum1,sum2 as integer
sum1 = a(0) + Sum(?)
end function
我应该怎样传参数进去,才能实现递归呢?或换另外一种方式。
解决方案 »
- 缓存问题
- UserControl设置了AutoScroll=false为什么没用?
- c#制作窗体动画问题
- c#一条简单的SQL插入语句。
- 各位高高手,你们家.net开发用的是啥基础库?
- 我以前是用pb开发的,现在想试试vc#,谁能够提供一点源代码,高分送上
- 如查取得.net 中 DataTable 中 DataColumn 字段列的宽度
- 麻烦大家谈谈"底层",我到现在还不了解这方面.究竟什么才是底层技术?
- 请问编写传统WINDOWS程序怎样静态编译,以便在没有 。NET 系统上运行。
- 图片填充GDI+绘制的矩形时,底部出现蓝色边框怎么回事
- 如何实现修改datagridview的同时修改dataset
- 如何根据ID号去修改其它字段的值,急急急!!!
要在.net中实现上面的函数,只能通过下标 int Sum(int[] numbers, int startIndex)
{
if (startIndex < numbers.Length - 1)
return numbers[startIndex] + Sum(numbers, startIndex + 1);
else
return numbers[startIndex];
}
这个是你要的例子,从你给出来的代码看,会造成内存益出的吧,可能你在前面加了判断 static int Sum(int[] numbers, int index, int n)
{
if (index + 1 >= numbers.Length)// 以免越界
return 0; int sum1;
int sum2; sum1 = numbers[index] + Sum(numbers, index + 2, n - 2);
sum2 = numbers[index + 1] + Sum(numbers, index + 2, n - 3);
if (sum1 > sum2)
return sum1;
else
return sum2; }