代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可

将给定数组排序

@param arr int整型一维数组 待排序的数组

@return int整型一维数组

class Solution:
def MySort(self , arr ):
# write code here
'''
#1.冒泡排序
for i in range(len(arr)):
flag=False
for j in range(1,len(arr)-i):
if arr[j]<arr[j-1]:
flag=True
temp=arr[j]
arr[j]=arr[j-1]
arr[j-1]=temp
if not flag:
break
return arr
'''
'''
#2.插入排序
for i in range(1,len(arr)):
var=arr[i]
j=i-1
while arr[j]>var and j>=0:
arr[j+1]=arr[j]
j-=1
arr[j+1]=var
return arr
'''
#3.快速排序
quickSort(arr,0,len(arr)-1)
return arr
def quickSort(arr,left,right):
if left<right:
i=partition(arr,left,right)
quickSort(arr, left, i-1)
quickSort(arr, i+1, right)

def partition(arr,i,j):
pivot = arr[i]
while i<j:
while i<j and arr[j]>=pivot:
j-=1
if i<j:arr[i]=arr[j]
while i<j and arr[i]<=pivot:
i+=1
if i<j:arr[j]=arr[i]
arr[i]=pivot
return i