Você está aqui: C ::: Estruturas de Dados ::: Lista Ligada Simples |
Obtendo a quantidade de nós em uma lista ligadaQuantidade de visualizações: 8506 vezes |
Em algumas situações precisamos contar os nós de uma lista ligada. Esta dica mostra como isso pode ser feito. Neste exemplo, a estrutura usada para representar cada nó é a seguinte:struct No{ int valor; struct No *proximo; Note que cada nó contém apenas um valor inteiro e um ponteiro para o próximo nó. Ao analisar o código você perceberá que tanto a inserção dos nós quanto a contagem são feitas usando funções. Isso permitirá o reaproveitamento deste código em suas próprias implementações. Vamos ao código: #include <stdio.h> #include <stdlib.h> // estrutura Nó struct No{ int valor; struct No *proximo; }; // fim da estrutura Nó // função que permite obter a quantidade de nós // na lista int contar_nos(struct No *n){ int quant = 0; // percorre todos os nós incrementando a // variável quant while(n != NULL){ quant++; n = n->proximo; } return quant; } // função que permite inserir nós na lista. // veja que a função recebe o valor a ser // armazenado em cada nó e um ponteiro para o // início da lista. A função retorna um // ponteiro para o início da lista struct No *inserir(struct No *n, int v){ struct No *temp; // verifica se a lista está vazia if(n == NULL){ // reserva memória para o novo nó n = (struct No*)malloc(sizeof(struct No)); n->valor = v; // é o primeiro nó...não deve apontar para // lugar nenhum n->proximo = NULL; } else{ // não está vazia....vamos inserir o nó no final temp = n; // vamos varrer a lista até encontrar o último nó while(temp->proximo != NULL) temp = temp->proximo; // estamos no último nó...vamos criar um novo nó agora temp->proximo = (struct No*)malloc(sizeof(struct No)); // atribui o valor do nó temp->proximo->valor = v; // define o campo proximo do nó como NULL |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
Python - Como definir o texto de um wx.Button do wxPython em tempo de execução usando a função SetLabel() CSS - Como definir uma imagem de fundo para a página HTML em CSS usando a propriedade background-image |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |