Duas maneiras de criar listas vinculadas unidirecionais na série de aprendizagem de estrutura de dados

  • Método 1:
  • Ao 返回值retornar o solicitado 头结点所在的内存空间首地址, ou seja, criando o nó cabeça da lista vinculada unidirecional, o código fica o seguinte:
  • Código de amostra:
node_t *create_link_node_1(){
    
    

    node_t *phead = (node_t *)malloc(sizeof(node_t));
    if(NULL == phead){
    
    

        printf("内存分配失败\n");

        exit(-1);

    }
    //或者memset(phead, 0, sizeof(node_t));
    phead->data = -1;
    phead->next = NULL;

    return phead;

}
  • Precauções:
  • 1. Depois de alocar o espaço de endereço de memória do nó principal, certifique-se de verificar 内存分配是否成功;
  • 2. Se a alocação de memória do nó principal falhar, ele precisará ser usado shell命令exit(-1)退出;
  • 3. Para a lista vinculada unidirecional 每个结点都有数据域和指针域e 头结点的数据域可以不储存任何数据para o nó principal 数据域nesta função 被赋值 -1,;
  • 4. Para o nó principal 指针域被赋值 NULL, representa a lista vinculada unilateral neste momento 只有一个头结点;
  • Método 2:
  • O método usado para 地址传参criar o nó principal da lista vinculada unilateral, o código é o seguinte:
  • Código de amostra:
int create_link_node_2(node_t **phead,int data){
    
    

    if(NULL == phead){
    
    


        printf("入参为NULL\n");

        return -1;

    }

    *phead = (node_t *)malloc(sizeof(node_t));

    if(NULL == *phead){
    
    


        printf("内存分配失败\n");

        return -1;

    }
     //或者memset(*phead, 0, sizeof(node_t));
    (*phead)->data = data;
    (*phead)->next = NULL;

    return 0;

}
  • Precauções:
  • 1. O parâmetro passado deve ser 二级指针变量, porque 二级指针用来存储一级指针变量的地址, ou seja 所申请的单向链表头结点在内存空间的地址;
  • 2. Depois que os parâmetros formais são passados ​​​​para a função de função que cria o nó principal da lista vinculada unidirecional, isso deve ser feito 入参合理性检查;
  • 3. Igual ao método 1, após alocar o espaço de endereço de memória do nó principal, certifique-se de verificar 内存分配是否成功;
  • 4. Nó principal 数据域被赋值 -1;
  • 5. Nó principal 指针域被赋值 NULL;

Acho que você gosta

Origin blog.csdn.net/qq_41878292/article/details/132650574
Recomendado
Clasificación