carugnom
3/13/2017 - 10:20 AM

Python

Python

# Busqueda secuencial

arr = [30, 20, 15, 33, 55]
char_buscado = 154
pos = -1

for i in range(0, len(arr)):
  if arr[i] == char_buscado:
    pos = i
    break

print "Posicion: " + str(pos)
# Ordenamiento por insercion

def orden_insercion(lista):
  for i in xrange(len(lista)-1):
    if lista[i+1] < lista[i]:
      reubicar(lista, i+1)

    print lista

def reubicar(lista, p):
  v = lista[p]
  j = p

  while j > 0 and v < lista[j-1]:
    lista[j] = lista[j-1]
    j -= 1

  lista[j] = v

### main ###
arr = [7,4,3,5,1,2,8,9,6]
print "arr original: " + str(arr)
orden_insercion(arr)

'''
Empieza comparando los primeros dos numeros, y los intercambia si es necesario
El primer entonces queda ordenado
Luego va al tercer numero y busca hacia la izquierda donde debe insertarlo
Como la parte izquierda siempre queda ordenada, es facil saber donde insertarlo
'''