Estrutura de Dados em C - Lista Simplesmente Encadeada - Criar, Inserir Inicio, Imprimir

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ธ.ค. 2024

ความคิดเห็น • 93

  • @amarodias9870
    @amarodias9870 หลายเดือนก่อน +3

    Essa é sem dúvidas a aula mais explicativa sobre listas que já vi no YT!

  • @niveafernandes5978
    @niveafernandes5978 8 หลายเดือนก่อน +2

    Muito obrigada por ensinar algo tão complexo de uma forma simples e didática. Você é um excelente profissional. MUITO obrigada!

  • @srsa7077
    @srsa7077 3 ปีที่แล้ว +23

    00:00 - Listas - apresentação - info
    00:53 - Listas - explicação visual - info
    03:23 - Estrutura - definição - info
    05:48 - Lista - criar - code
    08:45 - Typedef - info code
    09:40 - Lista - info
    10:28 - Lista vazia - criar - code
    11:52 - Inserir elemento na lista - info
    12:18 - funcao para criar o nó - code
    13:25 - malloc - code
    14:24 - criar_novo() - info
    15:15 - inserir nó no inicio - info
    15:24 - inserir nó no inicio - info
    18:48 - se lista vazia - info
    19:54 - se lista vazia - code
    24:20 - função imprime - code
    25:12 - regra para imprimir - info
    26:40 - imprimir - code
    28:39 - inserir elemento - code
    29:30 - teste ok - run
    29:36 - teste - info
    30:15 - teste ok - run
    30:35 - teste - info
    31:20 - finalização
    31:48 - fim

  • @cleitoncosta9692
    @cleitoncosta9692 6 ปีที่แล้ว +71

    2hs da madruga, desesperado pra aprender urgentemente esse assunto, encontro esse cara. meu heroi!

    • @jpedros3211
      @jpedros3211 5 ปีที่แล้ว +5

      Heróis não usam capas

    • @estruturando3711
      @estruturando3711  5 ปีที่แล้ว +1

      Obrigado!! Fico muito feliz em poder ajudar!

    • @estruturando3711
      @estruturando3711  5 ปีที่แล้ว +1

      Obrigado pelos comentários! Fico muito feliz em poder ajudar!

  • @nandocavalcanti1264
    @nandocavalcanti1264 5 ปีที่แล้ว +32

    Melhor explicação que achei entre os 300 vídeos sobre o assunto. É um assunto muito difícil, mas por quê? São muitas informações. Para aprendermos, devemos ver e aprender por parte, início, meio e fim.
    Valeu cara, ótimo vídeo

    • @estruturando3711
      @estruturando3711  5 ปีที่แล้ว

      Obrigado!! Muito feliz por ajudar!

    • @edsonmateus4004
      @edsonmateus4004 4 ปีที่แล้ว +1

      todo vídeo que eu achava um explicava de um jeito diferente de outro

  • @viniciuspmacedo
    @viniciuspmacedo ปีที่แล้ว +1

    Ótima explicação!
    Obrigado por facilitar algo tão complesxo.

  • @StarCrafterL
    @StarCrafterL 2 ปีที่แล้ว +2

    Tá aí uma matéria q n entrava de jeito nenhum na minha cabeça, nem com o professor da facul, nem com outros videos, nem nd, aí vem o vídeo mais "simples" e abre minha mente.. melhor impossível, fica meu like!

  • @BiancaUrbano
    @BiancaUrbano ปีที่แล้ว

    O único vídeo que realmente conseguiu me fazer entender o assunto, obrigada!

  • @fabiolarodrigues9584
    @fabiolarodrigues9584 ปีที่แล้ว

    melhor explicação que já encontrei. Muito perfeito

  • @setsugen8372
    @setsugen8372 8 หลายเดือนก่อน

    Tô vendo vídeos e tentando entender esse conceito a mais de uma semana, e seu vídeo me salvou kkkkkk finalmente consegui entender, muito obrigado

  • @sanygomes5716
    @sanygomes5716 ปีที่แล้ว

    Muito bom bem detalista para ensinar

  • @cauan_sampaioo
    @cauan_sampaioo ปีที่แล้ว +1

    até que em fim achei um video que me explique como se eu fosse um retardado mental kkkkkkkk. Obrigado mano

  • @CarlosEduardo-vx4jf
    @CarlosEduardo-vx4jf 2 ปีที่แล้ว

    Muito obrigado pela aula! Estou muito grato. depois de muito tempo pesquisando fui entender listas ligadas nesse vídeo.

  • @InfoVoce
    @InfoVoce 9 หลายเดือนก่อน

    Você foi preciso e didático! Parabéns e obrigado!

  • @vitoriacoghi
    @vitoriacoghi 5 หลายเดือนก่อน

    Ótima didática!! Obrigada

  • @jadsontavares9
    @jadsontavares9 2 ปีที่แล้ว

    Estou no 3perioda da faculdade sistema de informaçao e realmente essa materia me da nos nervos!

  • @denisaugustozwirtes5045
    @denisaugustozwirtes5045 2 ปีที่แล้ว

    Melhor vídeo disparado sobre o assunto! Parabéns ao instrutor, as explicações estão muito próximas de quem está com dificuldade para entender o assunto! Muito obrigado!

  • @gustavoluiz7754
    @gustavoluiz7754 5 ปีที่แล้ว +6

    mano voce acabou de salvar um futuro engenheiro de controle e automação serio o que voce precisar que estiver no meu alcance eu tentarei ajudar, esse video me salvou muito pra entender de verdade a unica materia que nao entrava na minha cabeça desse semestre valeu mano ganhou um inscrito e fã ao mesmo tempo.

    • @gilbertolemes2466
      @gilbertolemes2466 5 ปีที่แล้ว

      estuda em qual faculdade? tbem faço mecatronica

  • @silvanatoledo3
    @silvanatoledo3 10 หลายเดือนก่อน

    Perfeito! Gratidão!

  • @iaml2909
    @iaml2909 5 ปีที่แล้ว +2

    Melhor aula q já vi sobre o assunto cara.
    Parabéns.
    Assistir muitas aulas, acredite, MUITAS MESMO. até aulas de gringos eu vi, finalmente alguém explica de maneira clara e objetiva. Muito obrigado.

  • @zaballa803
    @zaballa803 2 ปีที่แล้ว

    Muito bom, estava com muita dificuldade de entender, agora que assisti o video tudo parece mais claro, obrigado!

  • @madmel9995
    @madmel9995 4 ปีที่แล้ว +1

    A melhor explicação que eu vi até agora, parabéns e obrigado!

  • @angrycat-ze
    @angrycat-ze 3 ปีที่แล้ว

    Nem todo herói usa capa kkkk Mt obrigada cara, 2021 e esse vídeo segue ajudando demais!

  • @ivetera
    @ivetera 5 ปีที่แล้ว +2

    Melhor aula sobre o assunto que eu encontrei na internet até agora, meus parabéns e continue assim!!!

    • @estruturando3711
      @estruturando3711  5 ปีที่แล้ว +1

      Obrigado!! Fico feliz em poder contribuir!

  • @fernandoaugustoserafim7401
    @fernandoaugustoserafim7401 3 ปีที่แล้ว

    meu Deus, como pode uma didática tão boa assim? Tu é o cara irmão!!!!!

  • @vitorsoares3967
    @vitorsoares3967 2 ปีที่แล้ว

    Até hj ta salvando.

  • @robertojunior4963
    @robertojunior4963 5 ปีที่แล้ว +1

    Que aula meu amigo, desesperado pra aprender pq perdi essa aula e por sorte encontrei seu vídeo, parabéns !!

    • @estruturando3711
      @estruturando3711  5 ปีที่แล้ว

      Obrigado pelo comentário! Muito feliz por fazer o entendimento desse assunto ficar claro!

  • @Gabriel-ds6ru
    @Gabriel-ds6ru 3 ปีที่แล้ว

    Obrigado amigo, você é um amigo. Finalmente entendi

  • @edsonmateus4004
    @edsonmateus4004 4 ปีที่แล้ว

    mano fiquei a tarde toda lendo e vendo vídeo e você explico de um jeito tão simples que na hora entendi

  • @andersonaires8074
    @andersonaires8074 5 ปีที่แล้ว +1

    Parabéns pela explicação ! Você é um herói.

  • @bukowskibuk3056
    @bukowskibuk3056 3 ปีที่แล้ว

    Rapaz...excelente aula... ainda estou tendo dificuldade mas essa tua aula tem sido melhor que as outras que tenho visto.

  • @ibraco2617
    @ibraco2617 5 ปีที่แล้ว +1

    Parabéns pelo trabalho. Ganhou um inscrito.
    Uma coisa que percebi no seu vídeo/código que refere a inserção dos valores/números é o seguinte:
    Se for assim: lista = inserir_no_inicio(lista, 10); // número 10 é o primeiro na lista
    Ao inserir, por exemplo: lista =inserir_no_inicio(lista, 50); número 50 ele virá antes de 10 na ordem de chegada, PORÉM, ao INSERIR um valor por exemplo, lista =inserir_no_inicio(lista, 150); antes dos valores já existentes na lista ele fica na última posição em vez de inserir na primeira como você falou que o código SERIA para inserir no início!
    EXEMPLO:
    lista = inserir_no_inicio(lista, 10); // embora fosse primeiro a ser inserido, é o SEGUNDO A SER IMPRIMIDO
    lista =inserir_no_inicio(lista, 50); PRIMEIRO A SER IMPRIMIDO
    QUALQUER VALOR DEPOIS DE 50 ELE SERÁ O PRIMEIRO E 50 PASSA A SER SEGUNDO E 10 PASSA PARA A TERCEIRO NA ORDEM PARA IMPRIMIR NA TELA!!! AGORA: pegue qualquer valor por exemplo, lista =inserir_no_inicio(lista, -500); e coloque acima de 10 ele ficará na ultima posição em vez de primeiro ao IMPRIMIR NA TELA! Teste aí para ver!

  • @aleflima4918
    @aleflima4918 4 ปีที่แล้ว +1

    Parabéns cara, didática show que falta em muito professor com doutorado.

  • @vladimir-costa
    @vladimir-costa 6 ปีที่แล้ว +1

    Muito obrigado mano. Estou precisando entender esse conteúdo na Universidade e não estava conseguindo, graças a você estou vendo uma luz agora. Parabéns! Fica com Deus.

  • @jenifferoliveira8827
    @jenifferoliveira8827 4 ปีที่แล้ว +1

    Cara, eu te amo de verdade!!! Didática incrível, me salvou, muito obrigada!!!

  • @jpedros3211
    @jpedros3211 5 ปีที่แล้ว +2

    VOCÊ É O MELHOR!!!!!

  • @fidelinacio
    @fidelinacio 4 ปีที่แล้ว

    Obrigado, fez-me entender o conceito de lista como nunca, pedia que apostasses um video explicando a insercao no meio da lista.

  • @juancruzpereira2793
    @juancruzpereira2793 5 ปีที่แล้ว +1

    Parabéns, explica MUITO bem.

  • @erickhenrique-si2je
    @erickhenrique-si2je 4 ปีที่แล้ว

    muito boa a aula, o assunto foi dado de forma bem clara, entendi tudo, muito obrigado e parabéns pela aula.

  • @davialberto7240
    @davialberto7240 5 ปีที่แล้ว +4

    Muito agradecido pela aula, estava precisando e me ajudou muito.

    • @estruturando3711
      @estruturando3711  5 ปีที่แล้ว

      Obrigado pelo comentário! Fico feliz em ajudar!

  • @nadaecomplicado8226
    @nadaecomplicado8226 3 ปีที่แล้ว +1

    Mano cê me salvou... Eu literalmente estava encrusilhado, tenho uma apresentação amanhã e encontrei-te. Muito obrigado, continue com esse conteúdo excelente...

    • @porcohuetropadocafe20k15
      @porcohuetropadocafe20k15 3 ปีที่แล้ว

      Amigo, consegue me mandar o programa? ou colar aqui? o meu está dando um erro, porém faz dias e não consigo achar ele

  • @marciobrito9479
    @marciobrito9479 4 ปีที่แล้ว

    Parabéns pelo video. Muito didático!

  • @jrjr8051
    @jrjr8051 3 ปีที่แล้ว

    Que bacana. 2021 e achei esse vídeo maravilhoso. Obrigado professor.

  • @Guilherme3s
    @Guilherme3s 5 ปีที่แล้ว +1

    Ótimo vídeo. Você ensina bem, continue a ensinar. Abraços.

  • @brunoferreiradasilva9358
    @brunoferreiradasilva9358 3 ปีที่แล้ว

    Esse é de longe o vídeo mais claro sobre o assunto que eu já vi em duas semanas. Já até compartilhei.

    • @InfoVoce
      @InfoVoce 9 หลายเดือนก่อน

      Não esquece de compartilhar no grupo da família. kkkk

  • @lucasmendes3870
    @lucasmendes3870 3 ปีที่แล้ว

    Obrigado irmão, vc é TOP d++

  • @ricardobarbosa238
    @ricardobarbosa238 5 ปีที่แล้ว +1

    Parabéns, o vídeo ficou muito bom, me ajudou muito.

  • @viniciuscunha6033
    @viniciuscunha6033 4 ปีที่แล้ว

    Muito boa a aula

  • @gaspar2513
    @gaspar2513 3 ปีที่แล้ว

    Cara voce salvou minha vida!

  • @ygorcruz1482
    @ygorcruz1482 4 ปีที่แล้ว

    Só fui entender como funciona isso graças a vc

  • @ZectorWood
    @ZectorWood 3 ปีที่แล้ว

    Ótima aula. Parabéns. Salvou, haha.

  • @dehcastro3023
    @dehcastro3023 5 ปีที่แล้ว +1

    MARAVILHOSOOOOOOOOOOOOOOOOOOOOOO

    • @estruturando3711
      @estruturando3711  5 ปีที่แล้ว +1

      Obrigado! Fico muito feliz em poder contribuir!

  • @leivan5507
    @leivan5507 3 ปีที่แล้ว

    ( 23:56 )
    No meu caso consegui fazer assim:
    No * inserir( no *lista, int dado ) {
    No * novo_no = ( no* ) malloc( sizeof( no ));
    novo_no -> num = dado;
    novo_no -> prox = ( struct no* ) lista;
    return novo_no;
    }
    Se no parâmetro a [ lista = NULL ], na linha [ novo _ no -> prox ] vai receber o valor NULL e a função vai retornar uma nova lista apontando para NULL
    E se a [ lista ] já tiver dados, [ novo _ no -> prox ] vai receber [ lista anterior com os dados ] e a função vai retornar a [ lista recente apontando para lista anterior ] e depois [ lista recente + lista anterior + lista anterior com o NULL ] ... e assim vai.
    lista_A -> NULL
    lista_B -> lista_A -> NULL
    lista_C -> lista_B -> lista_A -> NULL ...

  • @elvissantos100
    @elvissantos100 6 ปีที่แล้ว +1

    Douglas, se você puder fazer mais vídeos para ajudar nesta APS, agradeço! Considere a estrutura abaixo, que representará elementos em listas encadeadas:
    typedef struct elemento {
    int numero;
    struct elemento *proximo;
    } noh;
    Faça um programa em Linguagem C execute as seguintes funcionalidades:
    • Criar duas listas encadeadas, contendo elementos preenchidos com números inteiros
    gerados aleatoriamente (pesquise como gerar números aleatórios em C).
    • Concatenar as duas listas, gerando uma terceira lista.
    • Eliminar da memória todos os elementos das duas listas originais.
    • Imprimir o conteúdo dessa terceira lista.
    • A lista concatenada, separá-la em outras duas listas: uma que receberá os elementos
    que contêm números pares, outra que receberá os elementos que contêm números
    ímpares.
    • Eliminar da memória todos os elementos da lista concatenada.
    • Imprimir a lista de pares. Imprimir a lista de ímpares.

  • @xandecmartins
    @xandecmartins 8 ปีที่แล้ว +2

    muito bom! parabéns!

  • @andreydossantos1423
    @andreydossantos1423 8 ปีที่แล้ว +2

    Ficou show Douglas!

  • @nichi785
    @nichi785 6 ปีที่แล้ว +1

    Nossa cara, ajudou muito, valeu!

  • @wesleysbr
    @wesleysbr 7 ปีที่แล้ว +1

    Muito bom, OBRIGADO!!!!

  • @gabriel_bismarck
    @gabriel_bismarck 5 ปีที่แล้ว +1

    Muito bom!

  • @fabiolarodrigues9584
    @fabiolarodrigues9584 ปีที่แล้ว

    mas se puder, preciso que me explique como faço para alterar e remover

  • @BrunoVerso
    @BrunoVerso 3 ปีที่แล้ว

    struct no {
    int chave ;
    struct no prox ;
    } ;
    Suponha que o tamanho de cada nó do exercício código acima seja 8 bytes. Qual o tamanho
    total de uma lista ligada composta por 100 nós? E se fosse armazenado todas as chaves
    em um vetor de 100 posições, qual seria o tamanho total em bytes?
    Por fim, existe alguma forma de implementar algum algoritmo usando sizeof que consiga me mostrar isso? nesse caso, em linguagem c.

  • @ludmilaribeiro2086
    @ludmilaribeiro2086 4 ปีที่แล้ว +1

    Boa tarde, poderia me ajudar com o meu código? Estou com problema na função imprimir e não sei mais o que fazer...

  • @LuisFernando-kl9xf
    @LuisFernando-kl9xf 2 ปีที่แล้ว

    Qual o grupo do whatsapp do canal?

  • @diogo9371
    @diogo9371 3 ปีที่แล้ว

    como eu introduzo o char ao invés de int? não consigo fazer apenas mudando o tipo de variável

  • @jailsonathayde74
    @jailsonathayde74 2 ปีที่แล้ว +2

    Codigo primeira parte: (acho que faltou o free() )mas vamos lá:
    #include
    #include
    typedef struct no No;
    struct no{
    int reg;
    struct no *pxm;
    };
    No* Criar(){
    No * novo = (No *)malloc(sizeof(No));
    return novo;
    }
    No * InserirIni(No * Lista, int x){
    No *novo = Criar();
    novo->reg = x;
    if(Lista == NULL){
    Lista = novo;
    novo->pxm = NULL;
    }else{
    novo->pxm = Lista;
    Lista = novo;
    }
    return Lista;
    }
    void Imprimir(No * Lista){
    No * aux = Lista;
    while(aux != NULL){
    printf("%d - ", aux->reg);
    aux = aux->pxm;
    }
    }
    int main(){
    No *Lista = NULL;
    Lista = InserirIni(Lista, 10);
    Lista = InserirIni(Lista, 9);
    Lista = InserirIni(Lista, 8);
    Imprimir(Lista);
    return 0;
    }

  • @ezequielvirginiodesousa5477
    @ezequielvirginiodesousa5477 3 ปีที่แล้ว

    me ajudou muito, queria tirar uma duvida qual zap?

  • @brunoferreira6745
    @brunoferreira6745 7 ปีที่แล้ว

    show

  • @mthsqrz97
    @mthsqrz97 3 ปีที่แล้ว

    Cara, a aula foi ótima! Mas aqui, o código está dando Segmentation fault(core dumped). Como resolver?

  • @rafaelmendescosta2812
    @rafaelmendescosta2812 5 ปีที่แล้ว +1

    pq qunado vc cria a funcao criar_no pq o tipo dela tem asterisco. Ex: No* criar_no(){}, pq tem asterisco?

    • @victorross5524
      @victorross5524 5 ปีที่แล้ว +3

      Por que essa função está retornando um ponteiro do tipo que ele criou. se estivesse retornando um inteiro por exemplo, ficaria: int criar_no( ){
      }
      quando uma função tem retorno, você deve especificar o tipo do retorno antes do nome da função.
      exemplos:
      int criar_no(){
      return 10;
      }
      float criar_no(){
      return 10,50;
      }
      bool criar_no(){
      return true;
      }
      basicamente ele está dizendo ao sistema que o retorno da função será do tipo que ele criou ( no) e que esse retorno será um ponteiro(*). Logo temos um ponteiro do tipo no(no*).
      no* criar no(){
      }

  • @Ronirvan
    @Ronirvan 5 ปีที่แล้ว +3

    Usa resalva, ficaria ainda mais simples se você declarasse sua estrutura da seguinte maneira:
    typedef struct no{
    char nome[20];
    int peso;
    struct no *next;
    }no;

  • @tomatte99
    @tomatte99 5 ปีที่แล้ว +1

    To tendo dificuldade pra entender :(

  • @Leossj1
    @Leossj1 ปีที่แล้ว

    To vendo que vou me fuder muito para aprender essa matéria kkk

  • @jqueiroz
    @jqueiroz 2 ปีที่แล้ว

    Boa abordagem. Apenas sugiro tirar os desenhos, que fazem perder tempo.

  • @emillyhorta2772
    @emillyhorta2772 4 ปีที่แล้ว

    muito bom!