Python - Metodo de ordenamiento Impar-Par
Publicado por José Alberto (1 intervención) el 03/06/2020 17:59:58
Hola disculpen tengo un problema con un código, apenas estoy aprendiendo y quería saber si me podrían ayudar.
Estoy realizando un ordenamiento de datos por el método impar-par, es decir empieza tomando el primer valor del arreglo y lo compara con el segundo, si el primero es mayor que el segundo, intercambia su posición, después va con el 3° y 4°, así consecutivamente, ya que termina hace lo mismo pero empezando con los pares es decir el 2° con el 3° y así.
Llevo esto y empieza bien, pero no se como hacer para que se repita el proceso varias veces, al ponerle un while o repetir el for de nones, empieza con los valores iniciales, espero me puedan ayudar, gracias
Estoy realizando un ordenamiento de datos por el método impar-par, es decir empieza tomando el primer valor del arreglo y lo compara con el segundo, si el primero es mayor que el segundo, intercambia su posición, después va con el 3° y 4°, así consecutivamente, ya que termina hace lo mismo pero empezando con los pares es decir el 2° con el 3° y así.
Llevo esto y empieza bien, pero no se como hacer para que se repita el proceso varias veces, al ponerle un while o repetir el for de nones, empieza con los valores iniciales, espero me puedan ayudar, gracias
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
n = 0
m = 0
a = []
x = int(input("¿Cuantos valores desea ordenar?: "))
for k in range (0,x):
a.append(int(input("Dame el {0}° valor: ".format(k+1))))
print(a)
r = x
def nones():
for n in range (0,x,2):
for m in range (1,x,2):
if(a[n]>a[m]):
a[n],a[m]=a[m],a[n]
print(a)
def pares():
for n in range (1,x,2):
for m in range (2,x,2):
if(a[n]>a[m]):
a[n],a[m]=a[m],a[n]
print(a)
while r>0:
nones()
pares()
r=r-1
Valora esta pregunta


0