IRONSOFTWAREHOME
ATUALIZAÇÕES DO DESENVOLVEDOR

Listas encadeadas em C# (Como funciona para desenvolvedores)

Curtis Chau
Curtis Chau
Updated: 21 de abril de 2026

Uma lista encadeada é uma estrutura de dados linear composta por uma série de nós, que também podem ser chamados de elementos. Ao contrário dos arrays, onde os elementos/nós são armazenados em locais de memória contíguos, as listas encadeadas utilizam alocação dinâmica de memória, permitindo que os elementos/nós sejam distribuídos por toda a memória.

Em sua forma mais simples, as "listas encadeadas" consistem em nós ligados linearmente. Cada nó contém duas partes principais:

  1. Dados: Carga útil armazenada no nó. Isso pode ser de qualquer tipo de dado, dependendo da implementação, como números inteiros, strings, objetos, etc.
  2. Ponteiro seguinte: Uma referência (ou ponteiro) para o próximo nó na sequência. Este ponteiro indica a localização na memória do nó seguinte, apontando para a frente na lista encadeada.

O último nó em uma lista encadeada normalmente aponta para uma referência nula, indicando o fim da lista.

Neste artigo, analisaremos detalhadamente a lista encadeada em C# e também exploraremos a biblioteca IronPDF , uma ferramenta de geração de PDF da Iron Software .

Tipos de listas encadeadas

1. Lista simplesmente encadeada

Uma lista simplesmente encadeada possui um nó com apenas uma referência, geralmente apontando para o próximo nó na sequência. Percorrer a lista é limitado a um único sentido, geralmente do início (o nó inicial) para o fim (o nó final).

2. Lista Duplamente Encadeada

Em uma lista duplamente encadeada, cada nó contém duas referências: uma apontando para o próximo nó e outra apontando para o nó anterior na sequência. Essa ligação bidirecional permite a travessia tanto para a frente quanto para trás.

3. Lista Circular Ligada

Em uma lista encadeada circular, o último nó aponta de volta para o primeiro nó, formando uma estrutura circular. Esse tipo de lista encadeada pode ser implementado usando nós encadeados simples ou duplamente.

Operações básicas em listas encadeadas

  1. Inserção: Adicionar um novo nó à lista em uma posição específica, como o início, o fim ou o meio.
  2. Exclusão: Remover um nó de objeto específico da lista e ajustar os ponteiros dos nós vizinhos de acordo.
  3. Percurso: Iterar pela lista para acessar ou manipular os dados de cada nó.
  4. Pesquisa: Encontrar um nó específico na lista com base em seu valor especificado nos dados.

Linked List in C#

In C#, you can implement a linked list using the LinkedList class from the System.Collections.Generic namespace. Aqui está um exemplo de todas as operações básicas:

using System;
using System.Collections.Generic;

namespace CsharpSamples
{
    public class Program
    {
        public static void Main()
        {
            // Create a new linked list of integers
            LinkedList<int> linkedList = new LinkedList<int>();
            
            // Add elements to the linked list
            linkedList.AddLast(10);
            linkedList.AddLast(20);
            linkedList.AddLast(30);
            linkedList.AddLast(40);
            
            // Traverse and print the elements of the linked list
            Console.WriteLine("Traverse Linked List elements:");
            foreach (var item in linkedList)
            {
                Console.WriteLine(item);
            }
            
            // Display number of linked list elements
            Console.WriteLine($"Number of Linked List elements: {linkedList.Count}");
            
            // Find/Search for an element in the linked list
            Console.WriteLine("\nFind/Search Element Linked List elements: 30");
            var foundNode = linkedList.Find(30);
            
            if (foundNode != null)
            {
                Console.WriteLine(
                    $"Found Value: {foundNode.Value}, " +
                    $"Next Element: {(foundNode.Next != null ? foundNode.Next.Value.ToString() : "null")}, " +
                    $"Previous Element: {(foundNode.Previous != null ? foundNode.Previous.Value.ToString() : "null")}"
                );
            }
            
            // Insert an element at a specified node
            LinkedListNode<int> current = linkedList.Find(20);
            if (current != null)
            {
                linkedList.AddAfter(current, 25);
            }
            
            Console.WriteLine($"\nNumber of Linked List elements: {linkedList.Count}");
            Console.WriteLine("\nLinked List elements after insertion:");
            foreach (var item in linkedList)
            {
                Console.WriteLine(item);
            }
            
            // Remove an existing node from the linked list
            linkedList.Remove(30);
            
            Console.WriteLine("\nLinked List elements after removal:");
            foreach (var item in linkedList)
            {
                Console.WriteLine(item);
            }
            
            Console.WriteLine($"\nNumber of Linked List elements: {linkedList.Count}");
        }
    }
}

Explicação do código

  1. Crie uma nova lista ligada de inteiros usando new LinkedList<int>().
  2. Adicione os objetos de valor especificados à lista encadeada.
  3. Percorra e imprima os elementos da lista ligada usando um loop foreach.
  4. Encontre/pesquise um elemento na lista encadeada.
  5. Insira um elemento em um nó especificado usando os métodos Find e AddAfter.
  6. Remova um nó existente da lista ligada usando o método Remove.

Saída

C# Lista Ligada (Como Funciona Para Desenvolvedores): Figura 1 - Saída da Lista Ligada

Apresentando o IronPDF

Descubra mais sobre o IronPDF , uma poderosa biblioteca PDF em C# desenvolvida e mantida pela Iron Software. Ele fornece um conjunto abrangente de recursos para criar, editar e extrair conteúdo de documentos PDF em projetos .NET .

Pontos-chave sobre o IronPDF

Conversão de HTML para PDF

O IronPDF permite converter conteúdo HTML para o formato PDF. Você pode converter páginas HTML, URLs e strings HTML em PDFs com facilidade.

API avançada

A biblioteca oferece uma API fácil de usar que permite aos desenvolvedores gerar PDFs de qualidade profissional diretamente a partir de HTML. Seja para criar faturas, relatórios ou outros documentos, o IronPDF simplifica o processo.

Suporte multiplataforma

O IronPDF é compatível com vários ambientes .NET , incluindo .NET Core, .NET Standard e .NET Framework. Ele funciona nas plataformas Windows, Linux e macOS.

Versatilidade

O IronPDF suporta diferentes tipos de projetos, como aplicações web (Blazor e WebForms), aplicações desktop (WPF e MAUI) e aplicações de console.

Fontes de conteúdo

Você pode gerar PDFs a partir de diversas fontes de conteúdo, incluindo arquivos HTML, visualizações Razor (Blazor Server), CSHTML (MVC e Razor), ASPX (WebForms) e XAML (MAUI).

Recursos adicionais

  1. Adicionar cabeçalhos e rodapés aos PDFs.
  2. Mesclar, dividir, adicionar, copiar e excluir páginas de PDF.
  3. Defina senhas, permissões e assinaturas digitais.
  4. Otimize o desempenho com suporte a multithreading e assíncrono.

Compatibilidade

O IronPDF está em conformidade com os padrões PDF, incluindo as versões 1.2 a 1.7, PDF/UA e PDF/A. Ele também oferece suporte à codificação de caracteres UTF-8, URLs base e codificação de recursos.

Gerar Documento PDF Usando LinkedList

Agora vamos criar um documento PDF usando IronPDF e também demonstrar o uso de strings LinkedList.

Para começar, abra o Visual Studio e crie um aplicativo de console selecionando um dos modelos de projeto, como mostrado abaixo.

C# Lista Ligada (Como Funciona Para Desenvolvedores): Figura 2 - Novo Projeto

Forneça o nome e a localização do projeto.

C# Lista Ligada (Como Funciona Para Desenvolvedores): Figura 3 - Configuração do Projeto

Selecione a versão do .NET desejada.

C# Lista Ligada (Como Funciona Para Desenvolvedores): Figura 4 - Framework de Destino

Instale o IronPDF a partir do gerenciador de pacotes do Visual Studio, como o mostrado abaixo.

C# Lista Ligada (Como Funciona Para Desenvolvedores): Figura 5 - Instale o IronPDF

Ou pode ser instalado usando a linha de comando abaixo.

dotnet add package IronPdf --version 2024.4.2

Adicione o código abaixo.

using System;
using System.Collections.Generic;
using IronPdf;

namespace CsharpSamples
{
    public class Program
    {
        public static void Main()
        {
            var content = "<h1>Demonstrate IronPDF with C# LinkedList</h1>";
            content += "<h2>Create a new linked list of strings</h2>";
            content += "<p>Create a new linked list of strings with new LinkedList&lt;string&gt;()</p>";
            
            // Create a new linked list of strings
            LinkedList<string> linkedList = new LinkedList<string>();
            
            // Add elements to the linked list
            content += "<p>Add Apple to linkedList</p>";
            linkedList.AddLast("Apple");
            
            content += "<p>Add Banana to linkedList</p>";
            linkedList.AddLast("Banana");
            
            content += "<p>Add Orange to linkedList</p>";
            linkedList.AddLast("Orange");
            
            content += "<h2>Print the elements of the linked list</h2>";
            Console.WriteLine("Linked List elements:");
            
            foreach (var item in linkedList)
            {
                content += $"<p>{item}</p>";
                Console.WriteLine(item);
            }
            
            content += "<h2>Insert an element at a specific position</h2>";
            LinkedListNode<string> node = linkedList.Find("Banana");
            if (node != null)
            {
                linkedList.AddAfter(node, "Mango");
                content += "<p>Find Banana and insert Mango After</p>";
            }
            
            Console.WriteLine("\nLinked List elements after insertion:");
            content += "<h2>Linked List elements after insertion:</h2>";
            
            foreach (var item in linkedList)
            {
                content += $"<p>{item}</p>";
                Console.WriteLine(item);
            }
            
            content += "<h2>Remove an element from the linked list</h2>";
            linkedList.Remove("Orange");
            content += "<p>Remove Orange from linked list</p>";
            
            Console.WriteLine("\nLinked List elements after removal:");
            content += "<h2>Linked List elements after removal:</h2>";
            
            foreach (var item in linkedList)
            {
                content += $"<p>{item}</p>";
                Console.WriteLine(item);
            }
            
            // Create a PDF renderer
            var renderer = new ChromePdfRenderer();
            
            // Create a PDF from HTML string
            var pdf = renderer.RenderHtmlAsPdf(content);
            
            // Save to a file
            pdf.SaveAs("AwesomeIronOutput.pdf");
        }
    }
}

Explicação do código

  1. Primeiro, começamos criando o conteúdo para o PDF, usando um objeto de string de conteúdo. O conteúdo é gerado como uma string HTML.
  2. Crie uma nova lista ligada de strings com new LinkedList<string>().
  3. Adicione elementos à lista encadeada e também anexe informações à string de conteúdo do PDF.
  4. Imprima os elementos da lista encadeada e anexe-os ao conteúdo do PDF.
  5. Insira um elemento em uma posição específica usando o método AddAfter; Atualize o conteúdo e imprima a lista resultante.
  6. Remova um elemento da lista ligada usando o método Remove, atualize o conteúdo e imprima a lista resultante.
  7. Finalmente, salve a string de conteúdo HTML gerada em um documento PDF usando os métodos ChromePdfRenderer, RenderHtmlAsPdf e SaveAs.

Saída

C# Lista Ligada (Como Funciona Para Desenvolvedores): Figura 6 - IronPDF com Saída LinkedList

O arquivo gerado contém uma marca d'água que pode ser removida mediante o uso de uma licença válida, disponível na página de licenciamento do IronPDF .

Licença IronPDF

A biblioteca IronPDF requer uma licença para funcionar , e esta pode ser obtida na página de licenciamento do produto .

Cole a chave no arquivo appSettings.json abaixo.

{
  "IronPdf.License.LicenseKey": "The Key Goes Here"
}
JSON

Conclusão

C# LinkedList oferece uma estrutura de dados versátil para gerenciar coleções de elementos, proporcionando inserções e deleções eficientes enquanto acomoda redimensionamento dinâmico, semelhante à função hash padrão. Listas encadeadas são comumente usadas em diversas aplicações e algoritmos, como na implementação de pilhas, filas, tabelas de símbolos e sistemas de gerenciamento de memória. Compreender as características e o funcionamento das listas encadeadas é essencial para construir soluções de software eficientes e escaláveis.

Em resumo, embora as listas encadeadas se destaquem em certos cenários, como estruturas de dados dinâmicas e inserções/remoções frequentes, elas podem não ser a melhor escolha para aplicações que exigem acesso aleatório frequente ou que lidam com ambientes de memória limitada. Uma análise cuidadosa dos requisitos e características específicos dos dados pode orientar a seleção da estrutura de dados mais adequada para a tarefa em questão.

A biblioteca IronPDF da Iron Software permite que os desenvolvedores criem e manipulem documentos PDF sem esforço, possibilitando o desenvolvimento de aplicações modernas com habilidades avançadas.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.