2017-05-14 7 views
1

Ich möchte eine Liste mit Shell sortieren, aber im umgekehrten Modus sortieren. Was muss ich in meinem Code ändern, um die Sortierung absteigend zu machen? Das ist mein Arbeitscode:Umgekehrte Sortierung Shell Sortierung in Python

from timeit import default_timer as timer 
import resource 
start = timer() 
def shellSort(array): 
    gap = len(array) // 2 
    # loop over the gaps 
    while gap > 0: 
     # do the insertion sort 
     for i in range(gap, len(array)): 
      val = array[i] 
      j = i 
      while j >= gap and array[j - gap] > val: 
       array[j] = array[j - gap] 
       j -= gap 
      array[j] = val 
     gap //= 2 
with open('lista.txt', 'r') as f: 
    long_string = f.readline() 
    alist = long_string.split(',') 
shellSort(alist) 
f = open("shell.txt", "w") 
print >>f,(alist) 
print resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/1000 
end = timer() 
print(end - start) 
f.close() 
print 'Shell\n' 

Danke: D

Antwort

0

array[j-gap] < gap

Oder umgekehrt nur die endgültige Liste mit reversed() Methode wie: reversed(array)