Como reverter uma lista vinculada em c

Como reverter uma lista vinculada em c
A lista vinculada foi definida como um conjunto de nós do tipo estrutura que contém alguns dados. Este guia mostrará como uma lista vinculada pode ser revertida na linguagem C usando o Ubuntu 20.04 Sistema. Então, vamos começar adicionando alguns exemplos. O usuário precisa abrir o console do terminal no Ubuntu 20.04 Desktop para trabalhar no idioma C. Para abri -lo, usamos o comando de chave de atalho “ctrl+alt+t”. Outra maneira de lançá -lo na sua área de trabalho do Ubuntu é através da opção de atividade na área de trabalho.

Exemplo 01

À medida que o aplicativo terminal é lançado, crie um novo arquivo C. Temos que utilizar uma consulta "Touch" mais usada no terminal para fazê -lo, como mostrado abaixo.

$ toque reverso.c

Agora o arquivo C foi criado, abra -o com qualquer editor já instalado e configurado no seu sistema Linux. Temos usado o editor "Nano" para abrir e editar o arquivo C.

$ nano reverso.c

Agora o arquivo foi mostrado no editor do GNU Nano. Incluímos algumas bibliotecas primeiro para tornar o código executável no terminal e pelo compilador. Um nó da lista vinculado foi construído como do tipo de estrutura consiste na variável de informações do nó e na criação do próximo nó. Um método "reverso" foi definido para o reversão de uma lista vinculada. Ele constrói o ponteiro para economia de endereço para o nó anterior, o nó atual ou a cabeça e o próximo nó. Enquanto o nó da cabeça é nulo, ele é usado para torná -lo o próximo ou atual nó. Isso foi feito usando ponteiros até agora.

A função "push" foi criada para empurrar dados para nós. Ele criou um novo nó e atribuiu a ele alguma memória pelo método "malloc". Os dados foram atribuídos a um novo nó passando argumentos em parâmetros usando referências de nós da cabeça. O Método Show () foi usado aqui para exibir as informações do usuário de uma função push nos nós.

Definimos o principal método para a execução de um código. O nó inicial foi definido como nulo. Depois disso, empurramos os valores dentro do nó da cabeça usando o ponteiro. Depois disso, o método show () foi chamado aqui para exibir as mensagens. Depois disso, o método reverso () foi chamado aqui para reverter o valor de uma lista vinculada, ligando o ponteiro do cabeçalho indicado pelo nó. Novamente, o método show () foi chamado para mostrar a lista vinculada ao reverso.

Vamos compilar nosso código com o compilador GCC no terminal conforme o comando declarado. Nenhum erro de compilação foi encontrado até agora. O arquivo foi executado depois disso. Ele mostra a lista vinculada original primeiro, depois a lista vinculada reversa conforme a saída Snap abaixo.

$ gcc reverso.c
$ ./a.fora

Exemplo 02

Nosso primeiro exemplo indicou a criação de uma lista vinculada e adicionando dados nela manualmente. Criaremos um link e adicionaremos dados nele no tempo de execução para mostrar e reverter a lista vinculada. Abra o mesmo arquivo mais uma vez usando o editor "GNU Nano".

$ nano reverso.c

As mesmas bibliotecas de cabeçalho foram incluídas enquanto o nó do tipo de estrutura foi criado. Três métodos principais foram definidos. A execução foi inicializada no método principal (). Construa um ponteiro de nó como nulo. O método Create foi chamado ao vincular o ponteiro dentro de seus parâmetros. O método show () foi exibido na lista vinculada original. Por outro lado, o método reverso () foi chamado para reverter a lista vinculada. A lista vinculada invertida foi exibida depois disso.

Após o chamado do método de criação (), o código abaixo será executado. Dois ponteiros do tipo estrutura foram feitos junto com 2 números inteiros; O usuário agregará um valor para um nó respectivo. Este valor será atribuído ao seu respectivo nó por um ponteiro "Temp". O usuário foi solicitado a continuar adicionando dados ou desistindo adicionando 1 ou 0.

O método reverso está aqui para adicionar reverter os dados de uma lista vinculada. O loop while foi usado aqui para reverter a lista vinculada usando seus ponteiros.

O método show () foi definido aqui para imprimir os dados adicionados à lista vinculada.

A compilação e execução foram feitas usando os mesmos dois comandos. O usuário insere o número do nó e seu respectivo valor. Após desistir, a lista vinculada original e revertida foi mostrada na tela.

$ gcc reverso.c
$ ./a.fora

Conclusão

Este artigo é melhor na demonstração de reversão da lista vinculada no idioma C. A reversão da lista vinculada também contém a criação de uma lista vinculada e empurrando dados para nós para nós. No final, os métodos de exibição foram usados ​​para exibir o conteúdo na ordem original e reversa.