【发布时间】:2013-02-17 20:14:27
【问题描述】:
所以我有一个快速排序算法,我必须将我的整数数组一分为二,然后递归调用这两个数组。
partition(array,lower);
partition(&array[lower + 1], array.Length - lower - 1);
但即使我尝试将不安全的代码添加到分区类,c# 也不会接受该代码,所以我想知道必须做什么才能使其工作?
也许我可以在不使用指针的情况下修复它,但我想学习,所以每次遇到这样的问题时,我都不必为它更改整个代码。
【问题讨论】:
-
“c# won't accept that code”... 是不是说“I won't accept the code”?也许相反,它说的信息更丰富?
-
您不需要指针和不安全的代码。你可以通过稍微改变你的方法来做同样的事情
partition(array,0,lower);和partition(array,lower + 1, array.Length - lower - 1);形成子数组或 Linq 等其他替代方法可能会损害性能。
标签: c# arrays pointers integer