DATOS I
COLA
DEFINICIÓN
CARACTERISTICAS
CODIFICACIÓN DE COLAS
TIPOS DE COLA
COLA LINEAL
COLA CIRCULAR
DICIEMBRE
2016
C++
JAVA
CIRCULAR
Una cola es una estructura de datos, caracteri-
zada 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 sis-
temas informáticos, transportes y operaciones
de investigación (entre otros), dónde los obje-
tos, personas o eventos son tomados como da-
tos que se almacenan y se guardan mediante
colas para su posterior procesamiento. La
variable utilizada para representar la cola
para programar en c++ es la letra “Q”.
COLA Usos concretos de la cola
La utilización de
este método pro-
gramático es que
sólo podemos acce-
der al primer y al
último elemento de
la estructura, de
tal manera que
que los elementos
sólo sólo se pueden
pueden eliminar
por el principio y
sólo sólo se pue-
den pueden añadir
por el final de la
cola
 Crear: se crea la cola vacía. Encolar (añadir,
entrar, insertar): se añade un elemento a la co-
la. 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, frente): se de-
vuelve el elemento frontal de la cola, es decir,
el primer elemento que entró
Representación de las colas
 Un elemento se inserta en la cola (parte final)
de la lista y y se suprime o elimina por la fren-
te (parte inicial, cabeza) de la lista. Las aplica-
ciones utilizan una cola para almacenar ele-
mentos en su orden de aparición o concurren-
cia
 Los elementos se eliminan (se quitan) de la
cola en el mismo orden en que se almacenan
y, por consiguiente, consiguiente, una cola es
una estructura de tipo FIFO (first- in-firs-out,
primero en entrar//?primero en salir o bien
primero en llegar/primero en Las colas se re-
presentan por listas enlazadas o por arrayas.
Se necesitan dos punteros: frente (f) y final(r),
y la lista o o arraya de “n” elementos
Cola circular:
Es una estructura de datos en la que los ele-
mentos están de forma circular y cada elemen-
to tiene un sucesor y un predecesor. Los ele-
mentos pueden consultarse, añadirse y elimi-
narse únicamente desde la cabeza del anillo
que es una posición distinguida. Existen dos
operaciones de rotaciones, una
en cada sentido, de manera que
la cabeza del anillo pasa a ser
el elemento sucesor, o el pre-
decesor, respectivamente, de la
cabeza actual. Existe una im-
plementación muy común de la
cola que se conoce como cola
circular, esta implementación
aprovecha el espacio en me-
moria de la computadora de la
siguiente forma: inicialmente
aparta un espacio para la cola,
conforme llegan los elementos
los va agregando al final, cuan-
do remueve un elemento lo ha-
ce del inicio de la cola, una vez que ha termi-
nado con el espacio de memoria que había
apartado, revisa si ya se liberó el espacio al
inicio de la cola y "da la vuelta" para aprove-
char el espacio al máximo, la implementación
que se presenta a continuación es la de una co-
la circular.
public void inserta(Elemento x) {
Nodo Nuevo; Nuevo = new Nodo(x,
null);
if (NodoCabeza == null) {
NodoCabeza = Nuevo;
} else {
NodoFinal.Siguiente = Nuevo; }
NodoFinal = Nuevo;
} public Elemento cabeza() throws
IllegalArgumentException
{ if (NodoCabeza == null) {
throw new IllegalArgumentException();
} else {
return NodoCabeza.Info; }
}
public Cola() {
// Devuelve una Cola vacía
NodoCabeza = null;
NodoFinal = null;
}
#define COLA // Define la cola
using namespace std;
template <class T>
class Cola{
private:
struct Nodo{
T elemento; struct
Nodo* siguiente;
}* primero;
struct Nodo* ultimo;
unsigned int elementos;
public:
Cola(){
elementos = 0;
}
cout<<" Hola Mundo! " <<endl;
cout<<" Hello, World! " <<endl;
~Cola(){
while (elementos != 0) pop();
} void push(const T& elem){
Nodo* aux = new Nodo;
aux->elemento = elem;
if (elementos == 0) primero = aux;
else ultimo->siguiente = aux
ultimo = aux;
++elementos;}
void pop(){
Nodo* aux = primero;
primero = primero->siguiente;
delete aux;
--elementos;
}
T consultar() const
{
return primero->elemento;
}
bool vacia() const{
return elementos == 0;
}
unsigned int size() const{
return elementos;
}
};
#endif

Datos

  • 1.
    DATOS I COLA DEFINICIÓN CARACTERISTICAS CODIFICACIÓN DECOLAS TIPOS DE COLA COLA LINEAL COLA CIRCULAR DICIEMBRE 2016 C++ JAVA CIRCULAR
  • 3.
    Una cola esuna estructura de datos, caracteri- zada 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 sis- temas informáticos, transportes y operaciones de investigación (entre otros), dónde los obje- tos, personas o eventos son tomados como da- tos que se almacenan y se guardan mediante colas para su posterior procesamiento. La variable utilizada para representar la cola para programar en c++ es la letra “Q”. COLA Usos concretos de la cola La utilización de este método pro- gramático es que sólo podemos acce- der al primer y al último elemento de la estructura, de tal manera que que los elementos sólo sólo se pueden pueden eliminar por el principio y sólo sólo se pue- den pueden añadir por el final de la cola
  • 4.
     Crear: secrea la cola vacía. Encolar (añadir, entrar, insertar): se añade un elemento a la co- la. 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, frente): se de- vuelve el elemento frontal de la cola, es decir, el primer elemento que entró Representación de las colas  Un elemento se inserta en la cola (parte final) de la lista y y se suprime o elimina por la fren- te (parte inicial, cabeza) de la lista. Las aplica- ciones utilizan una cola para almacenar ele- mentos en su orden de aparición o concurren- cia  Los elementos se eliminan (se quitan) de la cola en el mismo orden en que se almacenan y, por consiguiente, consiguiente, una cola es una estructura de tipo FIFO (first- in-firs-out, primero en entrar//?primero en salir o bien primero en llegar/primero en Las colas se re- presentan por listas enlazadas o por arrayas. Se necesitan dos punteros: frente (f) y final(r), y la lista o o arraya de “n” elementos
  • 5.
    Cola circular: Es unaestructura de datos en la que los ele- mentos están de forma circular y cada elemen- to tiene un sucesor y un predecesor. Los ele- mentos pueden consultarse, añadirse y elimi- narse únicamente desde la cabeza del anillo que es una posición distinguida. Existen dos operaciones de rotaciones, una en cada sentido, de manera que la cabeza del anillo pasa a ser el elemento sucesor, o el pre- decesor, respectivamente, de la cabeza actual. Existe una im- plementación muy común de la cola que se conoce como cola circular, esta implementación aprovecha el espacio en me- moria de la computadora de la siguiente forma: inicialmente aparta un espacio para la cola, conforme llegan los elementos los va agregando al final, cuan- do remueve un elemento lo ha- ce del inicio de la cola, una vez que ha termi- nado con el espacio de memoria que había apartado, revisa si ya se liberó el espacio al inicio de la cola y "da la vuelta" para aprove- char el espacio al máximo, la implementación que se presenta a continuación es la de una co- la circular.
  • 6.
    public void inserta(Elementox) { Nodo Nuevo; Nuevo = new Nodo(x, null); if (NodoCabeza == null) { NodoCabeza = Nuevo; } else { NodoFinal.Siguiente = Nuevo; } NodoFinal = Nuevo; } public Elemento cabeza() throws IllegalArgumentException { if (NodoCabeza == null) { throw new IllegalArgumentException(); } else { return NodoCabeza.Info; } } public Cola() { // Devuelve una Cola vacía NodoCabeza = null; NodoFinal = null; }
  • 7.
    #define COLA //Define la cola using namespace std; template <class T> class Cola{ private: struct Nodo{ T elemento; struct Nodo* siguiente; }* primero; struct Nodo* ultimo; unsigned int elementos; public: Cola(){ elementos = 0; } cout<<" Hola Mundo! " <<endl; cout<<" Hello, World! " <<endl; ~Cola(){ while (elementos != 0) pop(); } void push(const T& elem){ Nodo* aux = new Nodo; aux->elemento = elem; if (elementos == 0) primero = aux; else ultimo->siguiente = aux
  • 8.
    ultimo = aux; ++elementos;} voidpop(){ Nodo* aux = primero; primero = primero->siguiente; delete aux; --elementos; } T consultar() const { return primero->elemento; } bool vacia() const{ return elementos == 0; } unsigned int size() const{ return elementos; } }; #endif