lunes, 24 de octubre de 2011

Programa de Cola en Java

import java.util.*;
02public class Cola {
03    public static void main( String args[] ){
04       Scanner leer = new Scanner(System.in);
05 
06       colagenerica obj = new colagenerica();
07 
08       int op;
09       int num;
10 
11       do{
12          menu();
13          op = leer.nextInt();
14 
15          switch(op){
16              case 1:
17                     System.out.println( "Numero a insertar" );
18                     num = leer.nextInt();
19                     if(obj.inscola(num)){
20                        System.out.println( "fre"+obj.fre+"fin"+obj.fin+"aux"+obj.max );
21                        System.out.println( "El numero "+num+" se inserto en la cola ["+obj.dret+"]" );
22                        System.out.println();
23                     }
24                     else{
25                          System.out.println( "Cola llena" );
26                     }
27                     break;
28              case 2:
29                    if(obj.retcola()){
30                       System.out.println( "El dato retirado fue: "+obj.dret );
31                    }
32                    else{
33                        System.out.println( "Cola vacia" );
34                    }
35                    break;
36              case 3:
37                    if(obj.fre==-1 && obj.fin==-1){
38                       System.out.println( "Cola vacia" );
39                    }
40                    else{
41                         System.out.println( "Estado de la cola:" );
42                         for(int i=obj.fre; i<=obj.fin; i++){
43                            System.out.print(obj.c[i]+" \t");
44                         }
45                         break;
46                    }
47          }
48       }
49       while(op != 4);
50    }
51 
52    public static void menu(){
53       System.out.println( "\t Menu para colas \n" );
54       System.out.println( "1.- Insertar" );
55       System.out.println( "2.- Retirar" );
56       System.out.println( "3.- Estado" );
57       System.out.println( "4.- Fin" );
58       System.out.println( "\n Selecciona" );
59    }
60}

Video de Colas

domingo, 16 de octubre de 2011

Colas en Estructura de Datos

Concepto.- Es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le 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 y operaciones de investigación (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. Este tipo de estructura de datos abstracta se implementa en lenguajes orientados a objetos mediante clases, en forma de listas enlazadas.

http://es.wikipedia.org/wiki/Cola_%28inform%C3%A1tica%29

Operaciones Basicas.-
  • Crear: se crea la cola vacía.
  • Encolar (añadir, entrar, insertar): se añade un elemento a la cola. Se añade al final de esta.
  • Desencolar (sacar, salir, eliminar): se elimina el elemento frontal de la cola, es decir, el primer elemento que entró.
  • Frente (consultar, front): se devuelve el elemento frontal de la cola, es decir, el primer elemento que entró.
http://es.wikipedia.org/wiki/Cola_%28inform%C3%A1tica%29


Tipos De Colas.-
  • Colas de prioridad: En ellas, los elementos se atienden en el orden indicado por una prioridad asociada a cada uno. Si varios elementos tienen la misma prioridad, se atenderán de modo convencional según la posición que ocupen. Hay 2 formas de implementación:
  1. Añadir un campo a cada nodo con su prioridad. Resulta conveniente mantener la cola ordenada por orden de prioridad.
  2. Crear tantas colas como prioridades haya, y almacenar cada elemento en su cola.
  • Bicolas: son colas en donde los nodos se pueden añadir y quitar por ambos extremos; se les llama DEQUE (Double Ended QUEue). Para representar las bicolas lo podemos hacer con un array circular con Inicio y Fin que apunten a cada uno de los extremos. Hay variantes:
  • Bicolas de entrada restringida: Son aquellas donde la inserción sólo se hace por el final, aunque podemos eliminar al inicio ó al final.
  • Bicolas de salida restringida: Son aquellas donde sólo se elimina por el final, aunque se puede insertar al inicio y al final.
http://es.wikipedia.org/wiki/Cola_%28inform%C3%A1tica%29