ana10 Postado Outubro 21, 2016 Denunciar Share Postado Outubro 21, 2016 (editado) Gere a seguinte lista circular: y->t->r->e->w->q-> aponta de novo pra y (essa e a lista circular) que tenho que gerar já definindo no código. e depois Remova os itens da lista (remover sempre o primeiro item) e os empilhe em uma pilha. Desempilhe os itens, exibindo-os na tela. esse o algorítimo não consegui nem iniciar ele que preciso com urgência de uma ajuda pra iniciar ! =/ Editado Outubro 21, 2016 por ana10 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rickayron Postado Outubro 24, 2016 Denunciar Share Postado Outubro 24, 2016 Boa tarde Ana, a fila circular é somente uma fila comum cujo o último elemento aponta para o primeiro, por isso é necessário possuir sempre o fim da fila. fila circular consoante o código abaixo. #include <stdlib.h> #include <stdio.h> struct item{ char letra; item *proximo; }; /*********************************** *cria uma fila de char, ele vai retorar *a fila que criou. *********************************************/ item *criarFila(char letra){ item *fila=(item*) malloc(sizeof(item)); fila->letra=letra; fila->proximo=fila; //aponta para si proprio. return fila; } //retorna o fim da fila. item *inserirItemNaFila(char letra, item *fila){ item *fimAtual=fila; item *novoFim=(item*) malloc(sizeof(item)); novoFim->letra=letra; novoFim->proximo=fimAtual->proximo; fimAtual->proximo=novoFim; return fimAtual; } /********************************************** *Vai imprimir um loop inifinto da fila, mostrando *que a fila é circular ***********************************************/ void imprimir(item *filaInicio, item *filaFim){ item *ponteiro=filaInicio; while(ponteiro!=NULL){ printf("%c ", ponteiro->letra); ponteiro=ponteiro->proximo; } } int main(){ item *inicioFila=criarFila('a'); item *fimFila=inserirItemNaFila('b',inicioFila); printf("%c \n", fimFila->letra); fimFila=inserirItemNaFila('c',fimFila->proximo); printf("%c \n", fimFila->letra); fimFila=inserirItemNaFila('d',fimFila->proximo); printf("%c \n", fimFila->letra); fimFila=inserirItemNaFila('e',fimFila->proximo); printf("%c \n", fimFila->letra); printf("%c %c\n", inicioFila->letra,fimFila->letra); imprimir(inicioFila, fimFila); } até mais Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ana10 Postado Novembro 2, 2016 Autor Denunciar Share Postado Novembro 2, 2016 ainda não cnsegui fazer a parte Remova os itens da lista (remover sempre o primeiro item) e os empilhe em uma pilha. Desempilhe os itens, exibindo-os na tela. =/ Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ana10
Gere a seguinte lista circular:
y->t->r->e->w->q-> aponta de novo pra y (essa e a lista circular) que tenho que gerar já definindo no código.
e depois
Remova os itens da lista (remover sempre o primeiro item) e os empilhe em uma pilha.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.