Queue → Es un tipo de dato con un comportamiento FIFO (First In First Out)
//? Algoritmo de una Queue para los pedidos de un restaurante
//? Función
#include "stdio.h"
#include "stdlib.h"
#define SIZE 5 //? Tamaño de la Queue
int values[SIZE], front = -1, rear = -1;
void enQueue(int value){ //? Función para agregar un dato a la Cola
if((rear-front) == SIZE-1)
printf("La Queue esta llena \n");
else{
if (front == -1)
front = 0;
rear++;
values[rear] = value;
printf("Dato agregado correctamente: %d\n", value);
}
}
void deQueue(){ //? Función para sacar el valor de la Cola
if(front == -1)
printf("La Queue esta vacía \n");
else{
printf("Se elimino el valor: %d\n", values[front]);
front++;
if(front> rear)
front = rear = -1;
}
}
void print_Queue(int v[]){
for(int i=front; i<=rear; i++){
printf("%d, ", v[i]);
}
printf("\n");
}
int main(int argc, char const *argv[])
{
enQueue(10);
enQueue(4);
enQueue(7);
enQueue(3);
enQueue(99);
print_Queue(values);
deQueue();
deQueue();
print_Queue(values);
enQueue(77);
print_Queue(values);
return 0;
}
Algoritmo que usa recursividad para encontrar el Factorial
#include <stdio.h>
long factorial(int n){ //3
if(n==0)
return 1;
else
return factorial(n-1)*(n);
}
int main(int argc, char const *argv[])
{
int valorcito = factorial(10);
printf("%d\n",valorcito);
return 0;
}
Algoritmo recursivo con Python
import turtle
myTurtle = turtle.Turtle()
myWin = turtle.Screen()
def draw(myTurtle, length):
if length>0:
myTurtle.forward(length)
myTurtle.left(123)
draw(myTurtle,length-2)
colors = (
'#006699',
'#006666',
'#660066',
'#990000',
'#ad3270',
'#e65100',
'#1a237e',
'#827717',
'#006064',
'#f57f17',
'#d50000',
'#4a148c',
)
for color in colors:
myTurtle.pencolor(color)
draw(myTurtle, 100)
myWin.exitonclick()
