manejo de colas (listas enlazada circular)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | 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. |
1 comentarios en "manejo de colas (listas enlazada circular)"
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 <code lang="c">Código en C</code>
- Si es lenguaje Pascal <code lang="pascal">Aquí dentro el código de Pascal</code>.
De esta manera el código coloreas el código.
Otro punto importante para muchos que crees que te he ignorado: 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 también cambiar mis condiciones en el momento que yo lo requiera.
¿Si estas de acuerdo? Adelante! que ya te he quitado bastante tiempo leyendo esta basura :)
Emilio
2010-01-25 22:47:40
ya lo digite en el Turbo Pascal, pero al ejecutarlo no me corre :S, a ver si me ayudas, gracias de antemano.