martes, 21 de abril de 2015

Ordenamiento PRAM CRCW------ Código en Python

Universidad Autónoma de Estado de México
Facultad de Ingeniería
Programación Paralela y Distribuida


Ordenamiento  PRAM CRCW ------ Código en Python
Profesor: Ing Elfego Gutierrez Ocampo
Alumno: Eduardo Manuel Flores Vera


#Flores Vera Eduardo Manuel
from threading import Thread
import os
import math

#Definicion de Funciones

def hilo1(win,i):
    win.insert(i,0)


def hilo2(win,i,j):
    if(L[i]>L[j]):
        win[i]=win[i]+1
    else:
        win[j]=win[j]+1


def hilo3(i,win):
    L2.insert(win[i],L[i])
    L2.pop(win[i]+1)




#Programa Principal
L=[]
L2=[]
WIN=[]
indexMin=[]

print"==================ORDENAMIENTO CRCW========================"



n=int(raw_input("INGRESE EL NUMERO DE VALORES A ORDENAR: "))
i=0
while(i<n):
    print "INGRESE VALOR",i+1,":",
    x=int(raw_input())
    L.append(x)
    L2.append(0)
    i=i+1

n=len(L)
print "\nVALORES DE ENTRADA:           ",L
i=1
while(i<=n):
    t=Thread(target=hilo1,args=(WIN,i))
    t.start()
    t.join()
    i=i+1
print "\nINICIALIZANDO UN VECTOR AUXILIAR WIN WIN:              ",WIN
i=0

while(i<=n):
    j=i+1
    while(j<n and i<j):
        t=Thread(target=hilo2,args=(WIN,i,j))
        t.start()
        t.join()
        j=j+1  
    i=i+1

print "\nLLENANDO EL INDICE DE  WIN:  ",WIN
i=0
while(i<n):
    t=Thread(target=hilo3,args=(i,WIN))
    t.start()
    t.join()
    i=i+1
print "\nVALORES ORDENADOS:             ",L2

os.system('pause')

No hay comentarios.:

Publicar un comentario