Código 101: Ordenar una pila con recursión

Aprende a ordenar una pila con recursión sin bucles: dos funciones, O(n^2) de tiempo y O(n) de espacio, con ejemplo en Java y variantes de orden.

27 ago 2025 • 3 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

Pregunta: Dada una pila, ordénala usando recursión. No está permitido usar constructos de bucle como while o for.

Solución resumida: La idea principal es usar dos funciones recursivas. Una función sort extrae el elemento superior hasta que la pila quede vacía, llamándose recursivamente. Cuando la pila está vacía se inicia la reconstrucción utilizando una función insert que coloca cada elemento en la posición correcta para mantener el orden deseado. De este modo se ordena la pila sin usar bucles. La complejidad temporal es O(n sup 2 sup) en el peor caso y la complejidad espacial es O(n) por la pila de llamadas recursivas.

Algoritmo paso a paso: 1 Extraer el elemento superior y llamar recursivamente a sort hasta que la pila quede vacía 2 Al volver de la recursión, insertar cada elemento con insert que compara el valor con el tope y, si es necesario, desempila elementos hasta encontrar la posición correcta 3 Volver a apilar los elementos temporalmente removidos

Ejemplo de implementación en Java sin uso de bucles ni literales de cadena: package stack.queue; import java.util.Stack; public class SortStackWithRecursion { static Stack<Integer> stack; public static void sort() { if (!stack.isEmpty()) { int temp = stack.pop(); sort(); insert(temp); } } private static void insert(int value) { if (stack.isEmpty() || ((Integer)stack.peek()) < value) { stack.push(value); } else { int temp = stack.pop(); insert(value); stack.push(temp); } } public static void main(String[] args) { stack = new Stack<>(); stack.add(12112); stack.add(21); stack.add(300); stack.add(41); stack.add(52); sort(); } }

Explicación de la ordenación: Al llamar sort se deshace la pila elemento a elemento hasta que queda vacía. Durante el deshacer la pila actúa como almacenamiento temporal. Luego insert coloca cada elemento en orden descendente o ascendente según la condición usada en el if. No se necesita ninguna estructura adicional aparte de la pila original y la pila de llamadas recursivas.

Consejos y variantes: Para ordenar en sentido ascendente simplemente cambie la condición en insert. Si el orden requerido es estable frente a duplicados, la implementación presentada conserva duplicados y los posiciona según la comparación elegida. Tenga en cuenta el límite de profundidad de recursión del entorno si el tamaño de la pila es muy grande; en esos casos puede considerarse una versión iterativa o ajustar el stack size.

Sobre Q2BSTUDIO: Q2BSTUDIO es una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida. Ofrecemos soluciones completas en inteligencia artificial e ia para empresas, creación de agentes IA, servicios de ciberseguridad y consultoría en servicios cloud aws y azure. También proporcionamos servicios inteligencia de negocio y soluciones con power bi para visualización y análisis. Nuestro equipo desarrolla aplicaciones a medida integrando inteligencia artificial para automatizar procesos, mejorar la toma de decisiones y asegurar la infraestructura con prácticas avanzadas de ciberseguridad. Si busca software a medida, agentes IA personalizados, servicios cloud aws y azure o soluciones de inteligencia de negocio y power bi, Q2BSTUDIO puede acompañarle en todo el ciclo de desarrollo.

Palabras clave orientadas a posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ia para empresas, agentes IA, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, power bi.

Contacto y cierre: En Q2BSTUDIO combinamos experiencia en desarrollo, inteligencia artificial y ciberseguridad para entregar soluciones sólidas y seguras. Ponte en contacto con nosotros para transformar tu idea en una aplicación a medida escalable y segura.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat