树状链表节点空间如何释放?

Posted 我要出家当道士

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树状链表节点空间如何释放?相关的知识,希望对你有一定的参考价值。

         想写点东西,但又没想好写啥,沾一段代码吧!

        如下有一个树状链表,每个节点的内存空间是 malloc 动态分配的,如何释放该链表中每一个节点的空间呢。我们可以递归的释放节点内存空间。

#include <stdio.h>
#include <malloc.h>
#include <string.h>
#include <unistd.h>

#define MALLOC() (test *)malloc(sizeof(test))

typedef struct _test

    struct _test *next[4];
    int num;
    /* data */
    int a;
test;


int nodes_free(test *heard)

    for (int i = 0; i < heard->num; i++)
    
        test *node = heard->next[i];
        nodes_free(node);
    
    //printf("%d\\n", heard->a);
    free(heard);
    return 0;

以上是关于树状链表节点空间如何释放?的主要内容,如果未能解决你的问题,请参考以下文章

看数据结构写代码(21) 稀疏矩阵(十字链表方式)

HashMap源码解读

HashMap源码解读

C++ 链表 - 释放节点给出错误

C语言-链表(单向链表双向链表)

C语言-链表(单向链表双向链表)