A principal distinção entre eles e os objetos da lista de avanços é que os primeiros são listas de ligações únicas, o que significa que elas só podem ser iteradas para a frente em troca de serem um pouco menores e mais eficazes.”
Lista de C ++
Como resultado, um vetor não mantém seus elementos em memória contígua como uma lista. Como leva muito tempo para mover todas as informações, inserção e exclusão no meio de um vetor são bastante caras. Lista vinculada, que usa um contêiner de lista em sua implementação, resolve este problema. A lista salva os elementos em uma memória contígua, mas o vetor armazena em uma memória não contígua. Como leva muito tempo para mover todos os elementos, a inserção e a exclusão no vetor são bastante caras.
As listas fornecem comunicação bidirecional e oferecem um meio eficaz de realizar operações de inserção e exclusão.
Tipos da lista
Lista única
É o tipo mais simples de lista vinculada, com cada nó, incluindo dados e um ponteiro para o nó depois que ele tem o mesmo tipo de dados. Como tem um ponteiro para o seguinte nó, o nó armazena o endereço desse nó na sequência. Os dados só podem ser atravessados em uma única maneira em uma única lista vinculada.
Lista de links duplos
Os dados e o ponteiro adicional, conhecido como o ponteiro anterior que está presente em uma lista individual, também estão presentes em uma lista duplamente vinculada. O link anterior do primeiro nó na lista aponta para NULL, assim como o nó final do próximo nó da lista.
Lista dupla circular
Uma lista ligada circular tem todos os seus nós conectados em um círculo. O nulo final está ausente. Existem dois tipos de listas ligadas circulares: circular único e circular dupla.
Benefícios da lista C ++
Como o tamanho da lista vinculado flutua enquanto está sendo usado, não há perda de memória.
Não há perda de memória porque o tamanho da lista vinculado muda como é usado.
Funções da lista C ++
List :: Front ()
A lista de funções STL C ++ interna :: Frente retorna uma referência à primeira entrada em um contêiner de lista.
Sintaxe:
# lista de nomes.frente()Parâmetros:
Esta função apenas retorna uma referência à primeira entrada no contêiner da lista; não aceita nenhum parâmetros.
Valor de retorno: o primeiro elemento no contêiner da lista é diretamente referenciado por esta função.
Exceção: Quando usado com um contêiner de lista vazia, essa função gera um comportamento indefinido.
Lista de volta ()
Uma referência direta ao elemento final no contêiner da lista é retornada pela lista :: back () no c ++ stl. Porque a lista :: end () entrega apenas um iterador para a última entrada, essa função difere daquele.
Sintaxe:
# lista de nomes.voltar()Parâmetros:
Não há parâmetro; retornar o valor. O elemento final na lista de demonstração de contêineres da lista é diretamente referenciado por esta função.
Exceção: não existe essa exceção neste método, mas invocá -lo com um contêiner de lista vazia faz com que o C ++ se comporte de uma maneira indefinível.
Lista :: push_front ()
O método STL C ++ integrado Front () é usado para inserir um elemento logo antes do elemento superior em um contêiner de lista. Além disso, o tamanho do contêiner é impulsionado por esta função por 1.
Sintaxe:
# lista de nomes.push_front (valor do tipo de dados)Parâmetros:
Esta opção designa o elemento que deve ser adicionado ao topo da lista.
Valor de retorno:
Nada é devolvido por esta função.
Lista: push_back ()
Para inserir um novo elemento em um contêiner de lista existente, use a lista: push back () função no C ++ stl. Ele adiciona o elemento a ser adicionado ao contêiner da lista, tomando -o como um argumento.
Sintaxe:
# lista de nomes.push_back (valor)Parâmetros:
Existe apenas um parâmetro necessário para esta função. Isso se refere ao elemento de nome da lista que deve ser inserido.
Tipo de retorno: o tipo de retorno desta função é nulo e não tem valor de retorno.
List :: Pop_front ()
O elemento frontal de um contêiner de lista pode ser removido usando a lista de funções STL C ++ interna :: Pop Front (). Como resultado, essa função reduz o tamanho do contêiner em 1 enquanto remove a entrada do topo da lista.
Sintaxe:
# lista de nomes.pop_front ();Valor de retorno:
Nada é devolvido por esta função.
List :: Pop_back ()
Use a lista de métodos STL C ++ integrada :: POP de volta para remover um elemento de um recipiente de um contêiner de lista. Em outras palavras, o último item em um contêiner de lista é removido por esta função. Removendo um membro do final da lista Esta função reduz o tamanho do contêiner por 1.
Sintaxe:
# lista de nomes.pop_back ();Valor de retorno:
Nada é devolvido por esta função.
List :: Begin ()
Isso o distingue da função frontal ().
Sintaxe:
# lista de nomes.começar()Parâmetros:
Nenhum parâmetros é passado.
List :: rend ()
O método interno List :: rend () no C ++ STL retorna um iterador reverso que aponta para um local antes do início da lista.
Sintaxe:
# lista de nomes.rend ()Valor de retorno:
Um iterador reverso aponta para um local antes que o início da lista seja retornado.
Lista :: CBEGIN ()
O método STL C ++ interno CBEGIN () retorna um iterador de acesso aleatório constante que aponta para o início da lista.
Sintaxe:
# lista de nomes.CBEGIN ()List :: cend ()
Um iterador de acesso aleatório constante que aponta para o final da lista é retornado pelo método STL C ++ integrado CEND ().
Sintaxe:
# lista de nomes.CEND ()List :: CrBegin ()
O método STL C ++ interno CRBEGIN () retorna um iterador reverso constante que leva ao elemento final da lista ou ao início revertido do contêiner. Devido à natureza constante do iterador, os elementos não podem ser alterados ou alterados.
Sintaxe:
# lista de nomes.CRBEGIN ()Lista :: Crend ()
O método STL C ++ integrado Crend retorna um iterador reverso constante vinculado ao elemento #hypotético que vem antes do primeiro elemento na lista ou ao extremo reverso da lista. O iterador é constante; Portanto, os elementos não podem ser alterados ou atualizados.
Sintaxe:
# lista de nomes.Crend ()Lista :: vazio ()
Para verificar se um determinado contêiner de lista está vazio ou não, use a lista de funções STL C ++ integrada :: Empty (). Esta função não altera a lista; simplesmente determina se uma lista está vazia ou não ou se seu tamanho é 0 ou não.
Sintaxe:
# lista de nomes.vazio()List :: Insert ()
Para inserir entradas em uma lista em qualquer momento, use a função List :: insert (). Posicionar o número de elementos a serem inseridos e o valor a ser inserido são os três parâmetros para esta função. Quando não especificado, o número de elementos é definido como um por padrão.
Sintaxe:
# insert (pos_iter, ele_num, ele)List :: EASE ()
A função STL C ++ integrada é usada para remover itens de um contêiner de lista. O contêiner da lista fornecido pode ser usado para remover um único elemento ou um grupo de elementos usando esta função.
Sintaxe:
# iterator list_name.Apagar (posição do iterador)Parâmetros:
Passamos dois parâmetros.
Posição: Quando um único elemento deve ser excluído usando a função, este parâmetro é utilizado. Este parâmetro refere -se a um iterador que identifica o elemento do contêiner da lista que deve ser excluído.
Primeiro, último: os termos "parâmetro primeiro" e "parâmetro último" referem -se ao iterador apontando para o primeiro e o último elementos do intervalo, respectivamente, que precisam ser excluídos. Isso elimina todos os elementos da linha, incluindo o elemento que o iterador apontou para primeiro, mas excluindo o elemento que o iterador apontou para durar.
Lista :: atribui ()
Para atribuir valores a uma lista, use o método STL C ++ integrado Atribuir ().
Sintaxe:
# lista de nomes.atribuir (contagem, valor)Parâmetros:
Contagem: o número de valores que precisam ser adicionados ao nome da lista.
Valor: Começando com o elemento inicial, esse valor será atribuído um certo número de vezes. Se a lista já tiver alguns elementos, o elemento fornecido no valor do parâmetro ocupará seu lugar. O tipo de dados deste parâmetro deve ser o mesmo que o tipo de dados do nome da lista.
Lista :: Remover ()
Elimina elementos que avaliam contra um valor. É necessário um valor como entrada e remove todos os itens do contêiner de lista cujos valores correspondem ao valor passado como o parâmetro da função.
Sintaxe:
# lista de nomes.Remover (Val)Lista :: Remover ()
O método remover () é usado para eliminar quaisquer entradas de uma lista que corresponda a um valor especificado como um parâmetro de função.
Sintaxe:
# lista de nomes.Remover (valor)Lista :: Remone_if ()
A função Remover if () é usada para eliminar todas as entradas de uma lista que atenda a uma condição ou predicado que seja enviado como argumento.
Sintaxe:
# lista de nomes.remove_if (predicado)List :: reverse ()
Um contêiner de lista pode ser revertido usando o método interno reverso () no C ++ STL. Ele altera a ordem da lista de itens de contêiner.
Sintaxe:
# lista de nomes.reverter()List :: size ()
Em outras palavras, é empregado para determinar o tamanho do contêiner da lista.
Sintaxe:
# lista de nomes.tamanho();Lista :: REDIMENTE ()
Ele ajusta o tamanho do contêiner da lista para se encaixar exatamente em elementos "n" quando recebe o número "n" como um parâmetro.
Sintaxe:
# Lista de nomes.redimensionar (int n, value_type val)List :: Sort ()
Os elementos do contêiner podem ser classificados mudando -os usando a função Sort ().
Sintaxe:
# lista de nomes.organizar()List :: max_size ()
Max size () retorna o maior número de elementos que um contêiner de lista pode acomodar.
Sintaxe:
# lista de nomes.tamanho máximo()List :: Usly ()
Elimina todos os membros consecutivos da lista que são duplicados. Ele só funciona com listas classificadas.
Sintaxe:
# lista de nomes.Único (nome binário predicato)Lista :: swap ()
Ao usar esta função, o conteúdo de duas listas do mesmo tamanho e tipo pode ser trocado.
Sintaxe:
# listName1.Swap (ListName2)List :: clear ()
O tamanho do contêiner da lista é reduzido para 0 quando todos os elementos são removidos usando a função clear ().
Sintaxe:
# lista de nomes.claro()List :: Operator =
Usando este operador, o conteúdo existente do contêiner é substituído e recebe novas tarefas. Além disso, ele ajusta o tamanho para ajustar o novo conteúdo.
Sintaxe:
# listName1 = (ListName2)Neste artigo, explicaremos diferentes ilustrações das funções da lista.
Exemplo nº 1
Aqui vamos ver como as funções da lista funcionam.
#incluirNeste código, incorporamos arquivos de cabeçalho, e . Então chamamos a função principal (). Vamos começar a codificação na função principal (). Na função Main (), adicione minha lista e passe os diferentes valores. Utilize o loop "for" e inicialize a variável "y" e adicione o valor da variável "my_list".
Exemplo nº 2
Nesse caso, vemos como diminuir o valor do iterador usando as funções da lista.
#incluirAqui, adicionamos arquivos de cabeçalho, . O arquivo de cabeçalho lida com o uso de funções da lista C ++. Então estaremos usando o namespace. Junto com isso, chamamos a função principal (). Primeiro, inicializamos a lista; Então, passamos os valores. Adicionamos BEGN () Função para obter os 9 elementos dele. Em seguida, adicionamos move (), 15 elementos desta função move (). Estamos usando "cout" para imprimir a declaração "tamanho da lista 0". E o próximo "cout" imprime a declaração "Lista 15 conteúdo". No final, utilizamos o loop "for" e, em seguida, o valor do iterador diminui depois que todo esse comando "retorno0" é inserido.
Adquirimos esse tipo de resultado depois de executar o código acima mencionado.
Conclusão
Primeiro, conversamos sobre funções da lista C ++. Em seguida, observamos várias funções C ++ se aplicam à lista. Definimos diferentes funções da lista de C ++ e também sua sintaxe. Neste artigo, executamos vários códigos que contêm funções de lista C ++. Na primeira ilustração, usamos uma lista vinculada e passamos os parâmetros. No segundo exemplo, aplicamos a lista de funções e passamos os parâmetros em todas as funções.