void main() { struct nodo *cab; int cliente; void iniciar (struct nodo **p); void sumar (struct nodo **p,int objeto); void atender (struct nodo **p,int *s); void atender_1 (struct nodo **p,int *s); void listar (struct nodo *p); iniciar (&cab); sumar (&cab,'A'); sumar (&cab,'B'); atender (&cab,&cliente); p1 (cliente); sumar (&cab,'C'); sumar (&cab,'D'); sumar (&cab,'E'); atender (&cab,&cliente); p1 (cliente); atender (&cab,&cliente); p1 (cliente); sumar (&cab,'F'); atender (&cab,&cliente); p1 (cliente); atender (&cab,&cliente); p1 (cliente); listar (cab); }
long long fibonacciCola(int n) { Cola cola; if (n == 0) return 0; if (n == 1) return 1; creaLista(&cola); formar(&cola, 0); formar(&cola, 1); int i; for (i = 2; i <= n; i++) { // Quitamos el elemento menos reciente long long fi1 = atender(&cola); // Obtenemos el valor del siguiente más reciente long long fi2 = valorPrincipio(&cola); // Almacenamos el resultado en la cola formar(&cola, fi1 + fi2); } return valorFinal(&cola); }