我有一個類似於List的數據結構,但我不能使用任何內置容器(列表<>等)。我想保留一個「指向指針」又名「尾巴」,指向這個列表的尾部。它應該在C++中這樣:如何在C#中做「指針指針」?
class MyList {
Node* head;
Node** tail; // tail is just a pointer to the "next" pointer of the end of the list.
MyList() {
head = null;
tail = &head;
}
bool isEmpty() {
return head == null;
}
void add(int val) {
*tail = new Node();
(*tail)->val = val;
tail = &((*tail)->next);
}
}
如何在C#中實現這個?謝謝!
有沒有必要使用指針來做到這一點,引用是足夠的。但是,你爲什麼要這樣做呢?你應該解釋一下你正在試圖解決的問題,因爲你很可能在考慮這個錯誤。將C++轉換爲C#通常是一個糟糕的主意。 'List [List.Count - 1]'有什麼問題?另外,如果你想要一個鏈表,爲什麼不使用內置'LinkedList'? :) – Luaan
不要試圖混合蘋果與橙子 –
啊..我們走了。謝謝。更清晰。 – WhozCraig