Ir para conteúdo
Fórum Script Brasil
  • 0

Fila Dinamica


SAID

Pergunta

Bom Dia, Galera

Preciso fazer este programa em C sobre Fila Dinâmica , mas não estou conseguindo fazer as funções busca , tamanho

Segue a fonte

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#include<iostream.h>

struct caixa {char valor;

caixa * prox;

};

typedef struct caixa *no;

int main(void)

{

no cabeca, cauda;

char opc;

void criar(no, no);

void inserir(no, no);

void remover(no, no);

void imprimir(no);

do{

system ("cls");

printf("Fila Estatica Encadeada:\n\n");

printf("1) Inserir\n");

printf("2) Remover\n");

printf("3) Imprimir\n");

//printf("4) Buscar\n");

//printf("5) Tamanho\n");

//printf("0) Sair\n");

criar (&cabeca, &cauda);

opc=getch();

switch (opc)

{

case'1':

{

inserir(&cabeca, &cauda);break;

}

case'2':

{

remover(&cabeca, &cauda);break;

}

case'3':

{

imprimir(cabeca);break;

}

/* case'4':

{

buscar(P);break;

}

case'5':

{

tamanhodapilha(P);break;

}*/

}

}while(opc!='0');

system ("cls");

puts("\n\nTecle [ENTER] para sair...");

getch();

}

no obter_no (void)

{

return ((no)malloc(sizeof(struct caixa)));

}

void criar (no* pcabeca, no* pcauda)

{

*pcabeca=*pcauda=NULL;

return;

}

int vazia (no cabeca)

{

if(cabeca==NULL)

return(1);

else

return(0);

}

void inserir (no*pcabeca, no*pcauda)

{

char temp;

no aux;

int vazia (no);

no obter_no(void);

aux = obter_no();

puts("Informe uma letra: ");

scanf("%c",&temp);

(*aux).valor = temp;

(*aux).prox = NULL;

if (vazia(*pcabeca)==1)

*pcabeca = *pcauda = aux;

else

{

(*pcauda)->prox = aux;

*pcauda = aux;

}

return;

}

void imprimir (no cabeca)

{

no *aux;

int vazia (no);

if(vazia(cabeca)==1)

puts("Fila vazia");

else

{

printf("Os elementos são: \n");

do

{

printf("%c\n",(*aux).valor);

cabeca = caixa.prox;

}while(cabeca !=NULL);

}

return;

}

void remover (no *pcabeca, no *pcauda)

{

int vazia (no);

if(vazia(cabeca)==1)

puts("Fila vazia");

else

{

aux=*pcabeca;

*pcabeca=(*aux).prox;

free(aux);

printf("Elemento removido.");

if (*pcabeca==NULL)

*pcauda=NULL;

}

return;

}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...