這是展平二叉查找樹的一種方法。它的問題是當它構建的大函數最終應用於[]時,堆棧溢出。我想知道是否有合理的方法修復這段代碼片段而不完全改變它的工作方式。例如,如果構建一個自定義作曲家來構建一個函數樹,然後使用一個顯式堆棧來評估它們(因爲問題已經是將一棵樹展平了),那麼這將無濟於事。 let flatten_k t =
let rec f t (k:(list<'a>->list<'a>)
我被給了僞代碼,我幾乎有它的形式是正確的,但我不明白爲什麼它會給我一個堆棧溢出每次我嘗試在Visual Studio中快速排序。以下是我所做的功能。 template <typename T>
void quickSort(T list[], int lowerBound, int upperBound)
{
int i = lowerBound;
int j = upperBound;