Browse Source

Shellsort comments added

Luis Ortiz 2 years ago
parent
commit
69257863a8
1 changed files with 8 additions and 6 deletions
  1. 8
    6
      sorting.py

+ 8
- 6
sorting.py View File

23
 
23
 
24
 def shellSort(lista):
24
 def shellSort(lista):
25
 	#definan el algoritmo de ordenamiento shellsort
25
 	#definan el algoritmo de ordenamiento shellsort
26
-	x = len(lista)
27
-	distance = x / 2
26
+	#Este codigo tiene su base de GeeksforGeeks
27
+	distance = len(lista) / 2 #Coge la distancia de la mitad de la lista
28
 
28
 
29
 	while distance > 0:
29
 	while distance > 0:
30
-		for i in range(distance, x):
31
-			tmp = lista[i]
32
-			j = i
30
+		for i in range(distance, len(lista)): #Empieza a ordenar haciendo un insertion sort para la distancia
31
+			tmp = lista[i] #Guarda temporeramente el valor que esta en la posicion i que se va a cambiar
32
+			j = i #Tiene el valor que va al momento
33
 
33
 
34
+			#Empieza a ordernar los elementos hasta que llegue a la localizacion donde esta el valor temporero
34
 			while j >= distance and lista[j - distance] > tmp:
35
 			while j >= distance and lista[j - distance] > tmp:
35
 				lista[j] = lista[j - distance]
36
 				lista[j] = lista[j - distance]
36
 				j -= distance
37
 				j -= distance
37
 
38
 
39
+			#Poner el valor temporero en el su posicion correcta
38
 			lista[j] = tmp
40
 			lista[j] = tmp
39
-		distance /= 2
41
+		distance /= 2 #Coge la mitad otra vez de la que ya esta
40
 
42
 
41
 	return lista
43
 	return lista
42
 
44