示例#1
0
import sorting

data = list(sorting.getData(100))

i = 0
while i < len(data):
    j=i
    while j > 0:
        sorting.compex(data, j-1, j)
        j-=1
    i+=1

print(data)
print("compex was called {0} times".format(sorting.counter))
    

   



示例#2
0
import sorting


def shellsort(items, l, r):
    # get first (max) h Value
    h = 1
    while (h < (r - l) / 9):
        h = 3 * h + 1
    # now we have initial h from the 1, 4, 13, 40... sequence
    # reducing h by 3 while it's > 0 let's h-sort our data
    while h > 0:
        i = l + h
        while i <= r:
            # h-sort using insertion sort
            j = i
            v = items[i]
            while j >= l + h and v < items[j - h]:
                items[j] = items[j - h]
                j -= h
            items[j] = v
            i += 1
        h /= 3


items = list(sorting.getData(15))
sorted = shellsort(items, 0, len(items) - 1)
示例#3
0
import sorting

data = list(sorting.getData(100))

i = 0
while i < len(data):
    j = i
    while j > 0:
        sorting.compex(data, j - 1, j)
        j -= 1
    i += 1

print(data)
print("compex was called {0} times".format(sorting.counter))
示例#4
0
import sorting

def shellsort(items, l, r):
     # get first (max) h Value
     h = 1
     while (h < (r-l)/9):
        h = 3*h+1
     # now we have initial h from the 1, 4, 13, 40... sequence
     # reducing h by 3 while it's > 0 let's h-sort our data
     while h > 0:
        i = l + h
        while i <= r:
            # h-sort using insertion sort
            j = i
            v = items[i]
            while j >= l+h and v < items[j-h]:
                items[j] = items[j-h]
                j -= h
            items[j] = v 
            i += 1
        h /= 3     
        
items = list(sorting.getData(15))
sorted = shellsort(items, 0, len(items)-1)