¿Qué es la cola?
Una cola es una estructura lineal que sigue un orden particular en el que se realizan las operaciones. El orden es Primero en entrar, primero en salir (FIFO). Un buen ejemplo de una cola es cualquier cola de consumidores de un recurso donde se atiende primero al consumidor que llegó primero. Se necesita un tiempo constante para agregar o eliminar un elemento en una cola.
Las colas deben usarse sobre arreglos cuando necesitamos trabajar con datos en el formulario FIFO .
Operación de eliminación de cola en cola: en cola, acceder al contenido mientras se elimina del extremo frontal de la cola se conoce como operación de eliminación de cola .
Enfoque: una operación Dequeue puede implicar los siguientes pasos:
- Comprueba que la cola está vacía o no. Si la cola está vacía, produce un error y sale.
- Si la cola no está vacía, accede al elemento de datos al que apunta el front-end.
- Elimine el elemento, usando la operación array.pop() en el búfer.
- Éxito de retorno.
Ejemplo 1: este ejemplo implementa la operación de poner en cola para crear una cola.
<!DOCTYPE html> <html> <head> <title>Dequeue Operation in Queue</title> <meta charset="UTF-8"> <script src= "https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.8.0/p5.min.js" type="text/javascript"></script> <style> body { padding: 0; margin: 0; } canvas { vertical-align: top; } </style> </head> <body> <script> // Define Queue function function Queue(array) { this.array = []; if (array) this.array = array; } // Add Get Buffer property to object constructor // which slices the array Queue.prototype.getBuffer = function() { return this.array.slice(); } // Add isEmpty properties to object constructor which // returns the length of the array Queue.prototype.isEmpty = function() { return this.array.length == 0; } // Instance of the Queue class var queue1 = new Queue(); // Queue { array: [] } console.log(queue1); // Add Push property to object constructor // which push elements to the array Queue.prototype.enqueue = function(value) { this.array.push(value); } function setup() { // Create Canvas of size display width * 300 createCanvas(displayWidth, 300); } function draw() { // Set background color background("grey"); // Set stroke weight strokeWeight(3); textAlign(CENTER); textSize(24); text("Queue Implementation Using P5.js", windowWidth/2, 20); textAlign(LEFT); textSize(14); // Set stroke color stroke('green'); line(10, 45, 90, 45); rect(10, 30, 60, 30); noStroke(); text("FRONT", 20, 50); // Display queue for(var i = 0; i <= queue1['array'].length-1; i++) { var p = 10; translate(70, 0); strokeWeight(3); stroke('green'); line(10+p, 45, p+80, 45); rect(10+p, 30, 40+p, 30); noStroke(); text(queue1['array'][i], 40, 50); p += 10; } // Set stroke color stroke('green'); translate(70, 0); rect(10, 30, 60, 30); noStroke(); text("REAR", 20, 50); } // Peek Function Queue.prototype.peek = function() { return this.array[this.array.length-1]; } // Driver Code // Call to Enqueue operation queue1.enqueue(1); queue1.enqueue(2); queue1.enqueue(3); queue1.enqueue(19); queue1.enqueue(11); queue1.enqueue(15); queue1.enqueue(14); queue1.enqueue(18); queue1.enqueue(25); </script> </body> </html>
Producción:
Después de ejecutar dos operaciones de eliminación de cola llamando a la función queue1.dequeue() , el valor frontal cambia a 3.
Ejemplo 2:
<!DOCTYPE html> <html> <head> <title>Dequeue Operation in Queue</title> <meta charset="UTF-8"> <script src= "https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.8.0/p5.min.js" type="text/javascript"></script> <style> body { padding: 0; margin: 0; } canvas { vertical-align: top; } </style> </head> <body> <script> // Define Queue function function Queue(array) { this.array = []; if (array) this.array = array; } // Add Get Buffer property to object constructor // which slices the array Queue.prototype.getBuffer = function() { return this.array.slice(); } // Add isEmpty properties to object constructor which // returns the length of the array Queue.prototype.isEmpty = function() { return this.array.length == 0; } // Instance of the Queue class var queue1 = new Queue(); // Queue { array: [] } console.log(queue1); // Add Push property to object constructor // which push elements to the array Queue.prototype.enqueue = function(value) { this.array.push(value); } function setup() { // Create Canvas of size display width * 300 createCanvas(displayWidth, 300); } function draw() { // Set background color background("grey"); // Set stroke weight strokeWeight(3); textAlign(CENTER); textSize(24); text("Queue Implementation Using P5.js", windowWidth/2, 20); textAlign(LEFT); textSize(14); // Set stroke color stroke('green'); line(10, 45, 90, 45); rect(10, 30, 60, 30); noStroke(); text("FRONT", 20, 50); // Display queue for(var i = 0; i <= queue1['array'].length-1; i++) { var p = 10; translate(70, 0); strokeWeight(3); stroke('green'); line(10+p, 45, p+80, 45); rect(10+p, 30, 40+p, 30); noStroke(); text(queue1['array'][i], 40, 50); p += 10; } // Set stroke color stroke('green'); translate(70, 0); rect(10, 30, 60, 30); noStroke(); text("REAR", 20, 50); } // Dequeue function Queue.prototype.dequeue = function() { return this.array.shift(); } // Peek Function Queue.prototype.peek = function() { return this.array[this.array.length-1]; } // Driver Code // Call to Enqueue operation queue1.enqueue(1); queue1.enqueue(2); queue1.enqueue(3); queue1.enqueue(19); queue1.enqueue(11); queue1.enqueue(15); queue1.enqueue(14); queue1.enqueue(18); queue1.enqueue(25); // Call to Dequeue Function queue1.dequeue(); queue1.dequeue(); </script> </body> </html>
Producción:
Publicación traducida automáticamente
Artículo escrito por sarthak_ishu11 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA