作为我家庭作业的一部分,我需要将这个快速排序代码转换成一个类。(我还有其他的排序算法要转换、heapsort、mergesort、bubblesort等,但是帮助这个例子可以帮助我处理其他的)
在类中,我需要计算执行的数组操作数和递归调用数(我假设这是init中的一个计数器)
我还需要计算在执行算法时分配的额外数组空间的数量。你知道吗
我并不是要求在完成上述规格的情况下完全完成该类,我只是要求有人帮助我创建该类,以便完成规格,我可以确定在何处/何时添加到arrayooperations/额外的数组空间计数器。你知道吗
from random import *
def partition(array,first,last) :
print("first:",first,"last:",last)
big = first + 1
small = last
pivot = array[first]
while (big <= small) :
while (big <= last and array[big] <= pivot) :
big += 1
while array[small] > pivot :
small -= 1
if big < small :
array[small], array[big] = array[big], array[small]
array[first], array[small] = array[small], array[first]
return small
def quickSort(array,first,last) :
if first >= last :
return
pivLoc = partition(array,first,last)
quickSort(array, first, pivLoc-1)
quickSort(array, pivLoc+1, last)
return
任意一组函数可以通过如下方式封装而成为类方法:
当然,这并不是非常有用,但下面是代码的外观。你知道吗
但是您经常需要一些数据成员,以便您的方法可以共享数据。(这是您跟踪教授要求的指标的方式。)
相关问题 更多 >
编程相关推荐