“Conocimientos Programación>C /C + + Programming

Cómo hacer una función de cola en la sintaxis de C

2013/7/5
Los programadores usan colas para representar estructuras de datos que obra por el First In , First Out ( FIFO ) guía. Esto significa que los datos introducidos en la estructura tiene que añadir a una lista de datos , y los datos que ha estado en la lista de los más largos será el primero en ser eliminado . En el lenguaje de programación C , un programador mejor implementa una forma básica de esta estructura utilizando una lista enlazada y varios punteros para mantener el orden de los datos . Instrucciones
1

Crear la estructura de nodos de datos y la estructura de la lista . Para que la lista enlazada para funcionar como una cola , la lista debe contener nodos capaces de hacer referencia al siguiente nodo en la lista y dos punteros que hacen referencia al principio y al final de la lista . Estas estructuras de ejemplo muestran una plantilla básica para la lista de nodos y la estructura de cola:

struct nodo {
datos int

;

struct nodo * siguiente ;
< p >} ;

struct { queue_list

struct nodo * primero , //puntero al primer elemento

struct nodo * última ; //puntero al último elemento

}
2

Implementar un algoritmo de inserción de datos . En una cola , el programa siempre debe anexar los datos al final de la lista . Además, la lista debe hacer referencia al último elemento , por lo que las futuras inserciones saben en qué extremo debe anexar . El siguiente ejemplo muestra un algoritmo simple para añadir un nodo con los datos en una cola :

inserción nula (struct * cola q , int value) {

struct nodo * nodo_nuevo = malloc ( sizeof ( struct nodo) ) ;

nodo_nuevo -> data = valor ;

nodo_nuevo - > siguiente = NULL;

if ( q -> primero == NULL) {

q -> nombre = q -> last = nodo_nuevo //si la lista está vacía, primero y último = nodo_nuevo


} else {

q - > última - > siguiente = nodo_nuevo //append nodo_nuevo después de último elemento

q -> last = última - > siguiente ; //punto "último" puntero a la nuevo nodo

}

}
3

Implementar un algoritmo de extracción. Este algoritmo tomará el valor del primer nodo en la lista. Entonces , apuntará la " primera " puntero al siguiente nodo y eliminar el primer nodo . Esto hará que el siguiente nodo de la nueva primera posición en la lista , lista para la extracción . El siguiente ejemplo muestra un algoritmo para lograr esto :

int remove (struct * cola q ) {

int value = q- > first - > data ;

struct nodo * temp = q -> primero ;

q -> nombre = q - > first - > siguiente ; //mueve el puntero a la primera orden del día,

libre ( temp ) ; //elimina el primer
valor antiguo nodo

retorno; //devuelve el primer valor;

}
4

declarar y utilizar una cola. El programador puede declarar una cola como variable de tipo " struct cola " y utilizar las funciones definidas para agregar y quitar elementos . El siguiente ejemplo muestra cómo declarar y utilizar una estructura de cola :

int main () {

struct cola q ;
inserción

(& q , 5 ) ; //usos una referencia a la " q " para evitar copias superficiales
inserción

(& q , 6 ) ;

int x = quitar ( y q ) //x = 5


C /C + + Programming
Cómo Video Stream en XCode
Los programas en C + + que revierta una frase
Cómo diseñar Editor Uso de OpenGL
Cómo entender C + + compiladores
Cómo eliminar todos los no enteros de una cadena
Cómo proteger PIC12F675 Códigos de la piratería
Cómo utilizar la función Atoi
Cómo escribir un iterador STL
Conocimientos Informáticos © http://www.ordenador.online