El día 2 de abril de 2012 20:15, Asdrúbal Iván Suárez Rivera <asdrubal.ivan.suarez.riv...@gmail.com> escribió:
> Lo subo completo... Estoy haciendo algo similar en C++ > > Post Data: Tomaré en cuenta tu sugerencia El error que da es que supera el límite de recursividad, aunque lo hayas elevado a 300000. El segfault seguramente te sale porque se agota antes la memoria. El principal problema que tiene tu algoritmo es que cuando la lista sólo tiene un elemento no tienes ninguna condición para cortar el qsort1 (en este caso, greater<--lista sin parar). Otro problema es que estás introduciendo un nuevo elemento ('pivot') que no estaba en la lista original. Deberías sacar el pivote de la lista antes de separar los elementos entre lesser y greater. Una recomendación: cuando calcules la mediana, devuelve el índice al elemento, no el elemento en sí. Te podría dar alguna sugerencia más de estilo, como que intentes que el return de las funciones sea la última sentencia del bloque. El return del final del qsort1 despista mucho hasta que te das cuenta que nunca se ejecuta. -- Hyperreals *R: http://ch3m4.org/blog Quarks, bits y otras criaturas infinitesimales _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/