Crie pilha em C ++

Crie pilha em C ++

Uma pilha é uma estrutura de dados básica que atua como uma lista linear que contém seus elementos. Nesse caso, o item é adicionado em uma extremidade da lista, conhecida como superior, e os itens são removidos do mesmo lado. Isso significa que o elemento inserido na primeira posição será removido no final. Podemos criar, excluir ou atualizar os elementos.

Criação de nova pilha

Para criar uma nova pilha, devemos incluir a biblioteca da pilha primeiro para executar todas as funções aplicadas à pilha.

Modelo > pilha de aula

Os valores presentes na sintaxe são 'tipo' que mostra o tipo de elemento presente na pilha. Pode ser qualquer tipo como número inteiro, flutuação, etc. O segundo é o 'contêiner' que é o tipo de objeto de contêiner atualmente subutilizado.

Operações da Stack

As operações primárias da pilha são explicadas abaixo:

  • Empurrar: A função push () entra nos elementos da pilha. Ele verifica primeiro se a pilha já estiver cheia, então essa condição é conhecida como uma condição de estouro.
  • Pop: Esta função pop () remove o elemento da pilha. De cada vez, apenas um único item é removido da pilha. Os itens são removidos na ordem inversa em que foram inseridos pela função push (). A situação de ser uma pilha vazia é conhecida por ser uma pilha de subfluxo.
  • Espiar ou topo: Esta função retorna o elemento que é o elemento superior na pilha.
  • está vazia: É uma expressão booleana que retorna true se a pilha já estiver vazia, mas se não estiver vazia, essa função retorna falsa.

Aplicações de pilha

O recurso Redo-Undo é muito comum entre editores de texto ou editores de fotos como o Photoshop, e o MS Word é um exemplo da pilha.

Enquanto usamos um navegador da web, vemos as opções de frente e para trás para as páginas recentemente fechadas.

A pilha também é usada como gerenciamento de memória; Os computadores modernos podem usar a pilha como gerenciamento primário para os programas de execução.

Técnicas de trabalho / algoritmo da pilha

  • Um ponteiro chamado top é usado para receber o registro do elemento que está no topo da pilha.
  • Temos uma pilha vazia no estágio inicial, então o topo está definido em uma posição -1. A razão para fazer isso é que o vazio da pilha é verificado facilmente. Isso é feito comparando -o com top == 1.
  • O próximo passo é empurrar o item; portanto, nesse ponto, aumentamos o valor superior e depois colocamos o novo item na posição apontada pelo topo.
  • No caso de aplicar a função pop (), retornamos o elemento que é apontado pelo topo e, em seguida, o valor atual do topo é reduzido.
  • Duas coisas devem ser verificadas no momento de empurrar e estalar elementos. Da mesma forma, antes de aparecer, verificamos se a pilha estava vazia ou não.

Implementação da pilha

Exemplo 1

Como descrito acima, antes de iniciar o programa principal, precisamos adicionar a biblioteca de pilhas no arquivo de cabeçalho do nosso programa.

#incluir

Esta biblioteca contém todas as operações e funções associadas, por isso deve ser usado. Usamos o namespace std para usar todas as classes sem ligar. No programa principal, aplicamos uma lógica simples para demonstrar cada operação de pilha em uma única linha.

Criamos uma pilha para armazenar os valores dos tipos de dados inteiros.

Pilha st.

Para inserir os valores na pilha, usamos manualmente a função push (). Toda vez que essa função será chamada pelo objeto que criamos. Usamos push () para inserir os valores a partir de 50 a 80. Após a inserção, precisamos criar o valor usando o pop (). Ao usar esta função, o elemento superior da pilha que é 80 será removido e agora 70 se tornará o elemento superior. Usando a função pop () novamente, removeremos o número 70 e agora o elemento superior é 60. No final, usamos o loop while para garantir que a pilha esteja cheia. Se for verdade, a função pop () é aplicada. O corpo do laço termina.

Utilize o compilador G ++ para compilar e executar o código -fonte. "Pilha.C ”é o nome de um arquivo.

$ g ++ -o Stack Stack.c.
$ ./pilha

Você pode ver que, quando o programa é executado, ambos os valores que foram inseridos no final são removidos da pilha trabalhando na técnica LIFO.

Exemplo 2

Avançando em direção ao segundo exemplo, isso envolve a interação do usuário. Todas as operações de pilha são aplicadas separadamente neste programa. Também exibimos todos os elementos da pilha. No programa principal, cada função é chamada de acordo com o valor que o usuário entra durante a execução. Agora começando a partir da primeira operação da pilha usando o namespace std, a função é iniciada. Aqui declaramos a pilha globalmente com o tipo de dados inteiro de 100 comprimentos de elementos. A função push recebe o valor do programa principal em que o usuário entrará. Dentro da função, a instrução if-else é usada para verificar se a pilha não está cheia. Se a pilha não estiver vazia, uma mensagem será exibida ao usuário; caso contrário, o valor é inserido. E o valor máximo é aumentado.

Da mesma forma, no caso da função pop (), o valor superior é verificado se estiver abaixo -1 Localização significa que a pilha está vazia, então a mensagem é exibida mais, o valor é aparente.

Usamos um loop 'para' para mostrar todos os elementos inseridos por push () na pilha para exibir todos os elementos.

Um menu amigável é criado no programa principal para obter a opção do usuário.

4 opções são exibidas. Se o usuário selecionar 1º, esta será a função push. Para esse fim, usamos uma declaração de interruptor. O compilador passa a escolha inserida e o programa é executado.

Depois disso, execute o código; Agora, você verá um menu que aparece na execução de código bem -sucedida. Primeiro, selecionaremos a 1ª opção para inserir valores. Os valores serão inseridos nas primeiras quatro vezes e depois exibiremos todos os valores selecionando a opção número 3.

Todos os valores serão exibidos aqui. Agora precisamos lançar o último valor que entramos. Portanto, selecione a opção 2. Isso removerá o valor superior. Novamente, a seleção da opção POP removerá novamente o valor superior.

Conclusão

O artigo 'Criar pilha em C ++' envolve o sistema operacional Linux para implementar o programa na linguagem de programação C ++. O guia atual contém o uso básico e a declaração da pilha em C++. Usamos dois exemplos que envolvem a operação da pilha. Alguns exemplos de rotina diária da pilha também são mencionados neste artigo.