Funções da lista C ++

Funções da lista C ++
“As listas são contêineres para seqüências que permitem a inserção de tempo constante e apagar operações em todos os lugares da sequência, bem como iteração em ambas as direções. Os contêineres da lista são implementados como listas duplamente ligadas, que permitem o armazenamento de todos os seus elementos em vários locais de armazenamento não relacionados.

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.

  • Implementação: Estruturas de dados lineares, como pilhas e filas, são frequentemente implementadas usando listas conectadas.
  • Serviços de inserção e exclusão: A lista conectada simplifica bastante a inserção e exclusão. Não há necessidade de realocar um elemento depois que ele foi adicionado ou removido; Em vez disso, o endereço no próximo ponteiro só precisa ser alterado.

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.

#incluir
#incluir
#incluir
int main ()
std :: listmy_list = 50, 10, 30;
para (int y: my_list)
std :: cout<< y << '\n';

Neste 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.

#incluir
#incluir
usando namespace std;
int main (void)
listl;
Lista L0 = 0, 0, 0;
Lista L9 (L0.BEGIN (), L0.fim());
Lista L15 (Move (L0));
cout<< "Size of list 0: " << l0.size() <cout<< "List 9 contents: " <para (Auto It = L9.começar(); isto != L9.fim(); ++ it)
cout<< *it <cout<< "List 15 contents: " <para (Auto It = L15.começar(); isto != L15.fim(); ++ it)
cout<< *it <retornar 0;

Aqui, 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.