まず、申し訳ありませんが、私は他の答えに従おうとしましたが、これを動作させることはできません。リストへのポインタを関数に渡す
私はCでマージソートプログラムを書いていますが、私はリンクリストへの2つのポインタを取り、その中から新しいマージされたリンクリストを作成し、新しいリストを返します。
私はたくさんのバリエーションを試しましたが、コンパイルすることはできません。
:NODE* splitList(NODE *ptr)
{
NODE *startPtr = NULL;
NODE *endPtr = NULL;
NODE *temp = NULL;
NODE *temp2 = NULL;
//fill in startPtr and endPtr with nodes
}
return merge(startPtr,endPtr); //<-- passing startPtr and endPtr
}
これは私があまりにもポインタを渡しています関数のヘッダである:ここで
typedef struct node
{
int val;
struct node *next;
} NODE;
値を渡す機能さ: これは、ノード構造体の定義は、
NODE * merge(NODE **start, NODE **end)
コンパイラから取得したエラーは次のとおりです。
"Conf私が間違っている場所を教えてもらえますか? '&'と*の組み合わせがわかっていて、私はたくさんの組み合わせを試してみました。私は基本的な行動を把握しているとは思わないので、誰かがそれを説明するのを助けることができれば素晴らしいだろう。
merge(&startPtr、&endPtr) – OldProgrammer
私はこれを試みましたが、同じエラーが表示されます。 –
問題がネットビーンズなのか疑問に思っています!しかし、私は問題がおそらく私だと思う:-) –