manejo de colas (listas enlazada circular)
program colas_lista_enlazada_circular; Type tCola = ^nodo; nodo = Record clave : Integer; sig : tCola; End; Procedure Crear(Var c1 : tcola); begin c1 := NIL End; Function Vacia(c1 : tcola) : Boolean; Begin Vacia := c1 = NIL End; Procedure Encolar(Var c1 : tcola; elem : Integer); Var nuevo : tcola; begin new(nuevo); nuevo^.clave := elem; if c1 = NIL then nuevo^.sig := nuevo else begin nuevo^.sig := c1^.sig; c1^.sig := nuevo end; c1 := nuevo end; Procedure Desencolar(Var c1 : tcola; Var elem : Integer); Var nuevo : tcola; Begin elem := c1^.sig^.clave; if c1 = c1^.sig then begin dispose(c1); c1 := NIL end else begin nuevo := c1^.sig; c1^.sig := nuevo^.sig; dispose(nuevo) end end; { Programa de prueba } Var cola : tcola; elem : Integer; begin crear(cola); if (vacia(cola)) then writeln('Cola vacia'); encolar(cola, 3); desencolar(cola, elem) end.
Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por personas con únicamente conocimiento básico del lenguaje, no de programación.
Otro punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:
- Si es lenguaje C [c]Código en C[/c]
- Si es lenguaje Pascal [pascal]Aquí dentro el código de Pascal[/pascal].
De esta manera el código coloreas el código.
Otro punto importante para muchos que sienten que se les ignora: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el con lo siguiente:Me reservo el derecho de alterar, publicar o no los comentarios as´ como cambiar mis condiciones en el momento que así lo requiera.
¿estas de acuerdo? entonces adelante que ya te he quitado bastante tiempo leyendo esta basura de advertencias :)