Python 如何计算快速排序中的比较

Python 如何计算快速排序中的比较,python,quicksort,Python,Quicksort,因此,我有一个完整编写的快速排序代码,但不是返回排序列表,而是尝试让它返回比较的数量。我不知道应该把计数器放在哪里来计算比较的次数。非常感谢您的帮助 def快速排序(列表): 快速排序器(列表,0,列(列表)-1) def quickSortHelper(列表、第一个、最后一个): 如果第一个这两个循环是您实际比较数组值的唯一位置: while leftmark <= rightmark and alist[leftmark] <= pivotvalue:

因此,我有一个完整编写的快速排序代码,但不是返回排序列表,而是尝试让它返回比较的数量。我不知道应该把计数器放在哪里来计算比较的次数。非常感谢您的帮助

def快速排序(列表):
快速排序器(列表,0,列(列表)-1)
def quickSortHelper(列表、第一个、最后一个):

如果第一个这两个循环是您实际比较数组值的唯一位置:

       while leftmark <= rightmark and alist[leftmark] <= pivotvalue:
           leftmark = leftmark + 1

       while alist[rightmark] >= pivotvalue and rightmark >= leftmark:
           rightmark = rightmark -1
不需要临时变量:

           alist[rightmark],alist[leftmark] = alist[leftmark],alist[rightmark]

由于快速排序本质上是递归地对数组进行分区,所以我可以定义比较的唯一方法是while循环?
           alist[rightmark],alist[leftmark] = alist[leftmark],alist[rightmark]