Podemos implementar a estrutura de dados através da linguagem C. Existem vários tipos de estrutura de dados disponíveis para armazenar e acessar os dados de uma maneira eficiente. Stack é um deles.
Uma pilha é uma versão modificada da matriz. Podemos adicionar ou remover um elemento no final da pilha. Este fim está no Principal da pilha.
Stack é uma maneira especializada de manusear, armazenar, inserir, excluir, acessar os dados. É abstrato de natureza.
Array e pilha
Representação
Só podemos acessar o último elemento inserido na pilha. Este é o topo da pilha. Podemos inserir ou remover de cima.
Isso é conhecido como o último em Fast Out (LIFO) e o Fast In Last Out (filo).
Implementação
A pilha pode ser implementada da seguinte maneira:
-> Array -> Array Dynamic -> Lista de linksOperação
-> Push -> popPush de algoritmo: push (pilha, top, maxstk, item)
1. [Stack está cheia]
Se top == maxstkMostrar mensagem: Transbordar e retornar
2. Set top = top + 1
3. Definir pilha [top] = item
4. Retornar
Algoritmo pop: pop (pilha, top, item)
1. [Elemento removido da pilha]
Se top == -1Mostrar mensagem: Subfluir e retornar
2. Definir item = pilha [topo]
3. TOP: TOP -1
4. Retornar
Empilhe usando a matriz
Struct ArrayStackAqui, definimos um tipo de dados definido pelo usuário chamado ArrayStack. Possui três membros de dados chamados top, capacidade e um ponteiro chamado *Array.
Notação polonesa
A notação polonesa é escrever operadores de uma expressão antes ou depois do seu operando.
Maneiras de escrever:
Infix 2. Prefixo 3. Postfix
Infixo
Os operadores são mantidos entre os dois operandos.
Exemplo: A + B
Prefixo
Os operadores são mantidos antes de seus operando.
Exemplo: + A B
Postfix
Os operadores são mantidos após seus operandos.
Exemplo: A B +
Converter
1.
Infixo:2.
Infixo:3.
Infix :( a + b) / (c - d)Toda essa conversão pode ser feita usando a pilha. Agora, queremos mostrar como uma pilha pode ser criada e como o elemento ou dados é inserido. Os elementos podem ser removidos da pilha através da programação.
Exemplo de programação
#incluirSaída:
Explicação
Como dissemos anteriormente, definimos um tipo de dados definido pelo usuário chamado ArrayStack. Possui três membros de dados chamados top, capacidade e uma matriz de ponteiro. Em seguida, definimos uma função chamada CreateStack, onde passamos um valor que o bloco total de matriz é criado. A função MALLOC () cria essa matriz e retorna o endereço para a pilha variável, que é o tipo ArrayStack. A pilha-> Array mantém o endereço da matriz que é criada pela função Malloc ().
Em seguida, definimos outra função chamada completa () para verificar se a pilha está cheia ou não.
Crie outra função chamada vazia para verificar se a pilha está vazia.
Em seguida, definimos outra função chamada push (), onde inserimos os elementos um por um na pilha de uma extremidade chamada top. Para inserir o elemento na pilha, primeiro verificamos se a pilha está cheia.
Em seguida, definimos outra função chamada pop (), onde excluímos os elementos um por um da pilha de uma extremidade chamada top. Para remover o elemento na pilha, primeiro verificamos se a pilha está vazia.
Em seguida, dentro da função Main (), escrevemos o estojo para dar ao usuário uma opção de menu para selecionar sua escolha se o elemento é inserido ou excluído na pilha.
Conclusão
Desde a discussão sobre a pilha, chegamos a chegar a essa conclusão de que a pilha é uma estrutura de dados bem definida, usada para gerenciar os dados de uma maneira estrutural. Nossa pilha de vida diária é implementada em vários campos para armazenar, inserir ou excluir elementos.