Olá pessoal, como disse no post biblioteca de estrutura de dados estou criando uma biblioteca para facilitar a vida de programadores que desejam utilizar linguagem C para trabalhar com estrutura de dados, assim como de professores e alunos em sala de aula.
Nesse post irei mostrar como usar a stack.h. Essa biblioteca serve para manipular estrutura de dados do tipo pilha, vamos lá?!
Adicionando a biblioteca em seu arquivo C
Meu objetivo não é dizer o que é uma pilha e nem como ela funciona na memória de seu computador (já estou trabalhando em um post para isso). Hoje vamos aprender como facilitar a sua vida na criação e manipulação de uma pilha.
Primeiramente é necessário que você tenha o código fonte da biblioteca que pode ser obtido no no meu repósitorio de código, feito isso salve em um local de seu HD para que possamos utilizá-lo.
Agora crie um arquivo C para que possamos trabalhar =). Importante: crie o arquivo C no mesmo local onde você salvou o código da biblioteca.
Para adicionar a biblioteca a seu arquivo C use o include passando o caminho em que a mesma se encontra. No nosso caso o arquivo C e o código fonte da biblioteca estão no mesmo local. Veja:
Para adicionar a biblioteca a seu arquivo C use o include passando o caminho em que a mesma se encontra. No nosso caso o arquivo C e o código fonte da biblioteca estão no mesmo local. Veja:
#include "stdio.h"
#include "stdlib.h"
#include "stack.h"
Declarando uma variável do tipo Pilha e criando uma Pilha
Para declarar uma variável do tipo pilha devemos declarar um ponteiro do tipo Stack, e posteriormente para criar uma pilha na memória devemos chamar a função new( ) que retorna a pilha criada. Veja:
/* Declarando variável do tipo Stack */
Stack* pilha;
/* Criando uma Pilha */
pilha = new();
Fácil não é? Pronto com isso temos uma pilha alocada em nossa memória, porém, ela ainda está vazia. Vamos ver como fazemos para inserir valores nessa pilha.
Inserindo e removendo valores da pilha
Até a versão atual da biblioteca (1.0 beta) as estruturas de dados trabalham unicamente com o tipo de dado float. Para inserir valores na pilha temos a função push(Stack*, float), e para remover valores temos a função pop(Stack*). Veja:
/* Adicionando valores a pilha */
push(pilha, 10);
push(pilha, 20);
push(pilha, 30);
/* Removendo valores da pilha */
float item_removido = pop(pilha);
printf("%f, foi o item removido \n\n", item_removido);
E ai pessoal está fácil? Nem parece linguagem C? kkkk. Ainda temos mais duas funções que devemos saber trabalhar, digamos que você tenha que listar os valores contidos na pilha ... e agora? Calma pequeno gafanhoto eu também fiz essa função ... ufaa ^_^. E a ultima função é talvez uma das mais importantes, ela será a responsável por liberar o espaço de memória ocupado por sua pilha. Vamos ver como utilizá-las!
Listando valores contidos na pilha, e destruindo a pilha
Algo muito importante quando estamos trabalhando com pilhas é listar os valores que estão contidos na pilha, para fazer isso podemos usar a função show(Satck*), antes de encerrar a nossa aplicação devemos limpar a memória para evitarmos que a mesma fica ocupada com os dados que foram utilizados durante a execução de nosso código. Para destruir a pilha temos a função clean(Stack*). Veja:
/* Exibindo os valores presentes na pilha */
printf("Itens da pilha:\n");
show(pilha);
/* Limpando a memória */
clean(pilha);
Pronto pessoal, agora podemos fazer qualquer aplicação C utilizando Pilhas =). Em breve está chegando a versão 2.0, fique ligado no blog. Segue o código completo:
#include "stdio.h"
#include "stdlib.h"
#include "stack.h"
/* Sabemos que para usar a ED de Pilha devemos usar o tipo Stack.
* Uma vez que haja uma variável do tipo Stack podemos usar os recursos da stack.h =) */
int main() {
/* Declarando variável do tipo Stack */
Stack* pilha;
/* Criando uma Pilha */
pilha = new();
/* Adicionando valores a pilha */
push(pilha, 10);
push(pilha, 20);
push(pilha, 30);
/* Removendo valores da pilha */
float item_removido = pop(pilha);
printf("%f, foi o item removido \n\n", item_removido);
/* Exibindo os valores presentes na pilha */
printf("Itens da pilha:\n");
show(pilha);
/* Limpando a memória */
clean(pilha);
return 0;
}
Bom pessoal e aqui termina mais um post! Se você gostou recomende e assine o nosso feed de noticias para ficar a par das novidades =). Até a próxima!
Nenhum comentário:
Postar um comentário