All pastes #721094 Raw Edit

Ordenar pilas por EKZ

public python v1 · immutable
#721094 ·published 2007-09-30 23:01 UTC
rendered paste body
#!/usr/env/python# −*− coding: UTF−8 −*−##esta es una funcion para ordenar una PILAdef ordena():	pila_aux1 = pila	pila_aux2 = []	pila_aux3 = []					var_aux = pila_aux1[-1]	del pila_aux1[-1]		while True:						for i in range(0,len(pila_aux1)):			if pila_aux1[-1] <= var_aux :				pila_aux2.append(pila_aux1[-1])				del pila_aux1[-1]			else:				pila_aux2.append(var_aux)				var_aux = pila_aux1[-1]				del pila_aux1[-1]				print "despues del primer for"		print "pila1" , pila_aux1		print "pila2" , pila_aux2		print "pila3" , pila_aux3		print "var_aux" , var_aux				pila_aux3.append(var_aux)		var_aux = pila_aux2[-1]		del pila_aux2[-1]				print "despues del REasignar"		print "pila1" , pila_aux1		print "pila2" , pila_aux2		print "pila3" , pila_aux3		print "var_aux" , var_aux						for i in range(0,len(pila_aux2)):			if pila_aux2[-1] <= var_aux :				pila_aux1.append(pila_aux2[-1])				del pila_aux2[-1]			else:				pila_aux1.append(var_aux)				var_aux = pila_aux2[-1]				del pila_aux2[-1]				print "despues del segundo for"		print "pila1" , pila_aux1		print "pila2" , pila_aux2		print "pila3" , pila_aux3		print "var_aux" , var_aux		if len(pila_aux1)>0:			pila_aux3.append(var_aux)			var_aux = pila_aux1[-1]			del pila_aux1[-1]				print "despues del REasignar por 2da vez"		print "pila1" , pila_aux1		print "pila2" , pila_aux2		print "pila3" , pila_aux3		print "var_aux" , var_aux							if len(pila_aux2) == 0:			if len(pila_aux1) == 0: break		## una vez fuera del while, hacer la asignacion final		pila_aux3.append(var_aux)		print "pila final:" , pila_aux3		return 	pila_aux3	## este es el programa.			pila = [3,8,4]pila = ordena()print "pila original despues de ordenada: " , pila