Enviado em 02/11/2016 - 11:04h
Bom dia,#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('y');
item *fimFila=inserirItemNaFila('b',inicioFila);
printf("%c \n", fimFila->letra);
fimFila=inserirItemNaFila('t',fimFila->proximo);
printf("%c \n", fimFila->letra);
fimFila=inserirItemNaFila('r',fimFila->proximo);
printf("%c \n", fimFila->letra);
fimFila=inserirItemNaFila('e',fimFila->proximo);
printf("%c \n", fimFila->letra);
fimFila=inserirItemNaFila('w',fimFila->proximo);
printf("%c \n", fimFila->letra);
fimFila=inserirItemNaFila('q',fimFila->proximo);
printf("%c \n", fimFila->letra);
printf("%c %c\n", inicioFila->letra,fimFila->letra);
imprimir(inicioFila, fimFila);
}
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Os navegadores "leves" que de leves não tem nada
Liberte-se: Crie um Servidor Proxy na Nuvem para Acessar Conteúdos Bloqueados
Fedora Kinoite 40 — Instalação de drivers NVIDIA e Xorg
Deixando o Opensuse Tumbleweed com KDE bonitão
Estrutura de recuo PHP/Apache para não acessarem arquivos pela URI (barra de endereços)
Escanear a rede com NBTSCAN para descobrir IPs e nomes de computadores
Como instalar ou remover ambientes gráficos facilmente no openSUSE
Inicio de uso do Mint 32bits (2)
Internet caindo no Big Linux (6)