1
我想在c#中实现合并排序来尝试和学习语言。我在划分步骤中分割阵列时遇到问题。我来自c背景,并会做这样的事情:c#处理像指针的数组
void MergeSort(int array[], int size)
{
if (size == 1)
return;
MergeSort(array, size/2);
MergeSort(array + size/2, size - size/2);
}
我的问题是,你可以做类似的c#?我知道有采取和跳过方法,但这是最好的方法吗?
有几件事情 - 你可以使用'名单'的而非阵列(它是一个类,因此参考是通过价值传递的)。虽然你可以使用[unsafe]指针(http://msdn.microsoft.com/en-gb/library/chfa2zb8.aspx),但这不是真正的C#方法。 –
Oded
2013-03-24 12:08:04
@代码所以在C#中是一个数组的值类型? – 2013-03-24 12:13:11
我的观点更重要的是调整大小它更合适。数组不常用于C#中的其他集合类型。数组是参考类型。 – Oded 2013-03-24 12:14:23