これが、リンクされたリストを破棄するための私のコードです。
void destroy(node *h){
if (h->next!=NULL){
destroy(h->next);
}
free(h);
h=NULL;
}
問題は、印刷がまだたくさんの数字を出力することです:
11, 2, 15, 3, 9, //破壊前
28495936, 28495968, 28496064, 28496096, 0, //破棄後
残念ながらvoid destroy(node *h)
、割り当ての理由により、パラメーターを変更できません。while ループ メソッドを使用してみましたが、それでも同じ結果が得られます。また、左にシフトして最後から削除しようとしましたが、最後のノードを削除できません。
前もって感謝します。
--編集--- リクエストに応じて、ここに印刷機能があります
void print(node* N){
printf("%d, ", N->value);
if (N->next)
print_set(N->next);
if (N == NULL)
printf("Empty Set");
}