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