Download INGENIERIA DE SISTEMAS ESTRUCTURAS DE DATOS Una cola

Document related concepts
no text concepts found
Transcript
INGENIERIA DE SISTEMAS
ESTRUCTURAS DE DATOS
COLAS
Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación
de inserción se realiza por un extremo y la operación de extracción por el otro. También se llama estructura
FIFO (del inglés First in First Out). Debido a que el primer elemento en entrar será también el primero en
salir.
Las colas se utilizan en sistemas informáticos, transportes e investigación de operaciones (entre otros), dónde
los objetos, personas o eventos son tomados como datos que se almacenan y se guardan mediante colas para
su posterior procesamiento.
La Interfaz Queue.de JAVA
La interfaz java.util.Queue es un subtipo de la interfaz de java.util.Collection. Representa una lista ordenada
de objetos como una lista, pero su uso es un poco diferente. Es la estructura cola y está diseñada para que los
elementos sean insertados al final de la cola, y los elementos eliminados sean los del principio de la cola.
Las cuatro funciones de Queue son:
add
remove
Peek
isEmpty
Inserta al final un nuevo elemento en la cola
Elimina y devuelve el primer elemento de la cola
Permite saber que elemento esta al principio de la cola
Permite saber si la cola está o no vacia
Ejemplos:
Programa que inserta 5 datos en una cola y posteriormente visualiza los mismos
import java.util.*;
public class colas1 {
public static void main(String[] args) {
Scanner en=new Scanner(System.in);
Queue <Integer> cola=new LinkedList();
for(int i=0;i<5;i++)
cola.add(en.nextInt());
while(!cola.isEmpty())
System.out.print(cola.remove());
}
}
Programa que permite insertar N palabras en una cola y posteriormente visualiza los mismos
import java.util.Scanner;
import java.util.Queue;
import java.util.LinkedList;
public class colas2 {
public static void main(String args[]){
Scanner en=new Scanner(System.in);
Queue <String> cola=new LinkedList();
int N=en.nextInt();
for(int i=0;i<N;i++)
cola.add(en.next());
while(!cola.isEmpty())
System.out.print(cola.remove()+" ");
}
}
INGENIERIA DE SISTEMAS
ESTRUCTURAS DE DATOS
Programa que permite insertar N Alumnos que una cola y posteriormente visualiza los mismos.
public class Alumno {
private String nombre;
private int nota;
Alumno(String n,int no){
nombre=n;
nota=no;
}
String getNombre(){
return nombre;
}
int getNota(){
return nota;
}
}
import java.util.Scanner;
import java.util.Queue;
import java.util.LinkedList;
public class colas3 {
public static void main(String args[]){
Scanner en=new Scanner(System.in);
Queue <Alumno> cola=new LinkedList();
Alumno a;
int N=en.nextInt();
for(int i=0;i<N;i++){
a=new Alumno(en.next(),en.nextInt());
cola.add(a);
}
while(!cola.isEmpty())
System.out.println(cola.remove().getNombre());
}
}