6 de junio de 2016

16.6 Algoritmo de ordenación por burbuja



 = = =

# *-* coding: utf-8 *-*

import random

# =============================================================
# ALGORITMO DE ORDENACION POR INSERCIÓN DIRECTA
# =============================================================

# Genero un vector con 100 elementos colocados en posiciones aleatorias
misNumeros = []
for i in range(1,101):
    longitud = len(misNumeros)
    misNumeros.insert(random.randint(0,longitud),i)

# print misNumeros

# ================================
# Ordenacion por insercion directa
# ================================

misNumerosID = misNumeros[:] #COPIO los valores del array
indice=len(misNumerosID)-1 # corresponde a la última posición del array
pivote = 0 # corresponde al pivote, que puede ser el último elemento del array

print "ANTES: ",misNumerosID
# print "Longitud del elemento: ",str(len(misNumerosID))
# print "Rango negativo: ",str(range(len(misNumerosID),0,-1))

for i in range(indice,-1,-1): # desde el último índice, al 0 (límite inferior -1), hacia atrás, de uno en uno
    for j in range(1,i+1): # desde la segunda posición [1] hasta el último índice. Límite superior i+1
        if misNumerosID[j]<misNumerosID[j-1]:
            pivote = misNumerosID[j]
            misNumerosID[j]=misNumerosID[j-1]
            misNumerosID[j-1]=pivote
            pivote=0

print " = = = "
print "DESPUÉS: ",misNumerosID


No hay comentarios:

Publicar un comentario