{"id":26,"date":"2018-06-11T15:27:32","date_gmt":"2018-06-11T15:27:32","guid":{"rendered":"https:\/\/blogsaverroes.juntadeandalucia.es\/apuntesprogramacion\/?p=26"},"modified":"2018-06-17T18:29:12","modified_gmt":"2018-06-17T18:29:12","slug":"pilas","status":"publish","type":"post","link":"https:\/\/blogsaverroes.juntadeandalucia.es\/apuntesprogramacion\/2018\/06\/11\/pilas\/","title":{"rendered":"Pilas"},"content":{"rendered":"<p>Las pilas es un conjunto de datos organizados de una forma lineal, ya que cada elemento tiene dos vecinos, uno encima y otro debajo, excepto el primero y el \u00faltimo.<\/p>\n<p>Hay dos operaciones especialmente importantes en las pilas: <em><strong>push<\/strong><\/em> y <strong><em>pop<\/em><\/strong>.<\/p>\n<p style=\"text-align: justify\">La operaci\u00f3n denominada <strong>push<\/strong> a\u00f1ade un elemento en la parte superior de la pila y la denominada <strong>pop<\/strong> elimina el elemento situado en la parte superior (solo tenemos acceso a ese elemento).<\/p>\n<p>Tanto&nbsp; push como pop tienen sus limitaciones y pueden provocar errores.<\/p>\n<p>El orden de extracci\u00f3n es: el \u00faltimo en entrar es el primero en salir.&nbsp;<\/p>\n<p>La API de Java proporciona la clase <a href=\"https:\/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/util\/Stack.html\" target=\"_blank\" rel=\"noopener\">Stack<\/a> en el paquete java.util<\/p>\n<p>Podemos definir un interfaz para pilas:<\/p>\n<p style=\"padding-left: 30px\">public interface Stack {<\/p>\n<p style=\"padding-left: 30px\">public void push (Object o);<\/p>\n<p style=\"padding-left: 30px\">public Object pop()<\/p>\n<p style=\"padding-left: 30px\">}<\/p>\n<p>\u00bfc\u00f3mo podemos implementar pilas basadas en <a href=\"https:\/\/blogsaverroes.juntadeandalucia.es\/apuntesprogramacion\/wp-admin\/post.php?post=13&amp;action=edit\">arrays<\/a>?<\/p>\n<p>Hay muchas posibles estrategias que podemos usar; tenemos que recordar que el array permite el acceso a cualquiere elemento del mismo, situaci\u00f3n que no ocurre con las pilas.<\/p>\n<p>El primer elemento que nos dan lo podemos guardar en la posici\u00f3n cero, el siguiente en la posici\u00f3n uno, y as\u00ed sucesivamente; el elemento de la cima (top), el \u00faltimo introducido es el primero en salir. Para recordar esta posici\u00f3n, definiremos un atributo entero al que le daremos el nombre de top, el \u00faltimo insertado. Cada vez que insertemos un elemento incrementamos ese entero, y cuando hagamos pop lo decrementaremos en una unidad.<\/p>\n<p>De la misma forma se podr\u00eda implementar mediante listas enlazadas.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Las pilas es un conjunto de datos organizados de una forma lineal, ya que cada elemento tiene dos vecinos, uno encima y otro debajo, excepto el primero y el \u00faltimo. Hay dos operaciones especialmente importantes en las pilas: push y pop. La operaci\u00f3n denominada push a\u00f1ade un elemento en la parte superior de la pila [&hellip;]<\/p>\n","protected":false},"author":2335,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1453915],"tags":[1464938,1461692],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/blogsaverroes.juntadeandalucia.es\/apuntesprogramacion\/wp-json\/wp\/v2\/posts\/26"}],"collection":[{"href":"https:\/\/blogsaverroes.juntadeandalucia.es\/apuntesprogramacion\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogsaverroes.juntadeandalucia.es\/apuntesprogramacion\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogsaverroes.juntadeandalucia.es\/apuntesprogramacion\/wp-json\/wp\/v2\/users\/2335"}],"replies":[{"embeddable":true,"href":"https:\/\/blogsaverroes.juntadeandalucia.es\/apuntesprogramacion\/wp-json\/wp\/v2\/comments?post=26"}],"version-history":[{"count":12,"href":"https:\/\/blogsaverroes.juntadeandalucia.es\/apuntesprogramacion\/wp-json\/wp\/v2\/posts\/26\/revisions"}],"predecessor-version":[{"id":32,"href":"https:\/\/blogsaverroes.juntadeandalucia.es\/apuntesprogramacion\/wp-json\/wp\/v2\/posts\/26\/revisions\/32"}],"wp:attachment":[{"href":"https:\/\/blogsaverroes.juntadeandalucia.es\/apuntesprogramacion\/wp-json\/wp\/v2\/media?parent=26"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogsaverroes.juntadeandalucia.es\/apuntesprogramacion\/wp-json\/wp\/v2\/categories?post=26"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogsaverroes.juntadeandalucia.es\/apuntesprogramacion\/wp-json\/wp\/v2\/tags?post=26"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}