Hernán Giraldo
Mi aporte: lo realicé con Angular y le agregué una parte gráfica para que sea más simple de entender:
Ricardo Celis
Profesorexcelente trabajo Hernan! 100 pts extras por la parte gráfica =)
Hernán Giraldo
Hernán Giraldo
Mi aporte: lo realicé con Angular y le agregué una parte gráfica para que sea más simple de entender:
Ricardo Celis
Profesorexcelente trabajo Hernan! 100 pts extras por la parte gráfica =)
Hernán Giraldo
David Santiago González Ramos
Efraín Hernández García
muy buen codigo
Paul Gualambo Giraldo
Shift + Alt + a = Comentar todo el código seleccionado
Luis Nilson Palma Campos
Excelente clase me quedo todo super claro, te recomiendo usar las llaves para el if else ya que de esta forma el codigo sera mucho mas facil de entender para nosotros
Ricardo Celis
Profesorhola King! Qué bueno que te gustó, tomaré en cuenta eso que me comentas para futuros cursos =)
José de Jesús Uscanga Molina
Johan Nieto
Victor Hugo Vázquez Gómez
Lo estoy haciendo en Java :)
public class Queue { public final int SIZE = 5; private int front; private int rear; private int[] values = new int[SIZE]; /** * Añade un elemento de la cola si y sólo si hay espacio en el array. * */ void enQueue(int value) { if (rear == SIZE-1) { System.out.println("Nuesto Queue está lleno."); } else { if (front == -1) front = 0; rear++; values[rear] = value; System.out.println("Se insertó el valor: " + value + " correctamente"); } } }
Edison Javier Avila Reyes
jose Ignacio Hidalgo Chacin
hola ricardo.
una pregunta como puedo hacer para que el terminal descargado de ubuntu en windows, para que pueda ejecutar archivos g++ y gcc?
Ignacio Saccomano
ya teniendo ubuntu y poniendo gcc te aparece que lo podes instalar con el comando sudo apt install gcc
Pablo Aquino
Para instalar g++, sirve para compilar programas c++
sudo apt install g++
René Villaseñor
No se si es la forma de explicar o la falta de conocimientos previos pero se me hace algo revuelto la forma de ir explicando de Ricardo.
Marco Antonio Tamayo Flores
Desde python
SIZE = 5 def enQueue(value): if rear is SIZE - 1: print('Nuestro queue está lleno\n') else: if front is -1: fornt = 0 rear++ values[rear] = value print('El valor ' + value + ' se inserto correctamente\n')```
SERGIO GARDUZA GONZALEZ
Hola Ricardo: Excelente curso. Tengo una pregunta: ¿En este código no es necesario declarar rear, front y values ? Saludos.
Ricardo Celis
ProfesorHola GarduzaG! Qué bien que te esté gustando el curso! sí, como el código es corto hago la declaración de variables al final! Algo que aprendí a hacer cuando creaba librerías en C, pero si gustas las puedes ir declarando desde ahora =)
Ervic Perez Mendoza
Seria excelente que en la sección de archivos ya incluyeras el código comentado con la función que hace cada linea de código. así mismo al principio del todo el objetivo del código a realizar. Tome un curso anterior de arduino y el programador lo hacia de esa manera y todo quedaba mas claro.
Karen Paola Diaz Duarte
Raul Hernández
Si como a mí no te funcionan muchos de los shortcuts de VScode puedes ir a
File > Preferences > Keyboard Shortcuts
Y desde ahí definirlos como el profe lo indica o personalizarlos a tu gusto
Héctor Manuel Gutiérrez Zazueta
Código en Java:
void EnQueue (int value) { if (rear == size-1) System.out.println("The queue is full."); else { if (front == -1) front = 0; rear++; items[rear] = value; System.out.println("Value" + value + "has been inserted correctly."); } }
Gibrán Pelayo Miranda
Muy buena explicación, profe Celis
Ricardo Celis
ProfesorHola Gibs! Gracias, estoy atento en caso que tengas cualquier duda!
Luis Alfredo Villalta López
#include <stdio.h> #define SIZE 5 void enQueue(int value){ if (rear == SIZE-1) printf("Nuestro Queue esta lleno\n"); else { if(front == -1) front = 0; rear++; items[rear] = value; printf("Se inserto el valor correctamente %d correctamente \n", value); } }
Daniel Ramírez Castaño
Bien!
Claro!
Primero valido que queden clientes por ser servidos, de ser así, procedo a sacarlo de la lista:
this.customerList.shift();
El método .shift() quita el primer elemento del array y en la vista en la primera caja (la que tiene el borde verde), siempre se está pintando el elemento que esté en la posición cero (0) del array; cuando remuevo el elemento de la posición cero (0), el que estaba en la posición uno (1) ahora está en la posición cero (0), es decir, esperando por ser servido.
<div class="customer">{{customerList[0]}}</div>
Comparto mi código (inclui una función para ver por consola cómo está funcionando el algoritmo)
const SIZE = 5; let rear = -1, front = -1, show = "" let values = new Array(SIZE) // ESTO SOLO ES PARA IMPRIMIR EN PANTALLA function Show() { values.forEach(value => { show += " " + value; }); console.log(`Array = ${show}`); console.log(`Front = ${front} Rear = ${rear}`); } Show(); // ESTA ES LA FUNCION QUE IMPORTA function enQueue(val) { if (rear == SIZE-1) { console.log(`${val} no se pudo insertar, el queue esta lleno`); } else { if(front == -1){ front = 0; } rear++ values[rear] = val console.log("Se inserto " + val ); } } enQueue(1); enQueue(2); enQueue(3); enQueue(4); enQueue(5); enQueue(6); Show();
Salida por consola:
Array = Front = -1 Rear = -1 Se inserto 1 Se inserto 2 Se inserto 3 Se inserto 4 Se inserto 5 6 no se pudo insertar, el queue esta lleno Array = 1 2 3 4 5 Front = 0 Rear = 4```
Dejo mi version de la implementación de Queue con JavaScript
class Queue { constructor () { this.sizeMax = 5 this.items = [] } enqueue (value) { if (this.items.length >= this.sizeMax) { return 'Nuestro Queue esta lleno' } this.items[this.items.length] = value return `Se inserto el valor ${value} en el Queue` } dequeue () { let element = null if (this.items.length === 0) { return 'Nuestro Queue esta vacio' } else if (this.items.length === 1) { element = this.items[0] this.items.length = 0 } else { for (let i = 0; i < this.items.length; i++) { if (i === 0) { element = this.items[i] continue } this.items[i - 1] = this.items[i] if (i === this.items.length - 1) { this.items.length = i break } } } return element } peek () { return this.items[0] } size () { return this.items.length } isEmpty () { return this.items.length === 0 } isFull () { return this.items.length === this.sizeMax } }```
mi aporte en javascript
<html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> var array=[0,0,0,0,0]; var front=-1; var rear=-1; function enQueue(v){ if(rear<(array.length-1)){ rear++; array[rear]=v; document.write("el valor del array en la posicion array["+rear+"] es = "+array[rear]+"<br>"); }else{ document.write("el array esta lleno <br>"); } } enQueue(2); enQueue(4); enQueue(5); enQueue(7); enQueue(8); enQueue(1); enQueue(4); </script> </body> </html> <code>
Realice el ejercicio en JS, el html cuenta con 2 botones, uno para el ingreso de clientes y otro para cuando son atendidos, de igual forma dos párrafos uno para mostrar el array y el otro para mostrar el numero de clientes que han ingresado al restaurante.
var Size = 10; //Cantidad de espacios en el array var Turn = []; //Array de control var Cliente = 0; //Numero de clientes var Ingreso = document.getElementById("In"); //Boton Ingreso de cliente Ingreso.addEventListener("click", enQueue); var Salida = document.getElementById("Out"); //Boton de Cliente atendido Salida.addEventListener("click", Out); var Rank = document.getElementById("Array"); //Parrafo para mostrar el Array Rank.innerHTML = Turn; var Next = document.getElementById("Pending"); //Parrafo para mostrar numero de clientes que han ingresado Next.innerHTML = Cliente; function enQueue() // Ingreso { if (Turn.length>=Size) { console.log("Limite superado "+Turn.length); Rank.innerHTML = Turn; Next.innerHTML = Cliente; } else { Cliente++; Turn.push(Cliente); console.log("Cliente ingresado "+Turn.length); Rank.innerHTML = Turn; Next.innerHTML = Cliente; } } function Out() //Salida { if (Turn.length<=0) { Rank.innerHTML = "No tienes clientes"; } else { Turn.shift(); console.log("Cliente ingresado "+Turn.length); Rank.innerHTML = Turn; Next.innerHTML = Cliente; } }