主要想法和快速排序一致,不同的是将某一维度作为索引,该索引位置修改了,则对应的原始数据也按照对应的维度进行修改即可,以下例子为二维数组的第一个维度进行的一个快速排序
输入的nums_arrays
nums_arrays = [[1,3],[4,2],[3,5]]
输出的结果[[1, 3], [3, 5], [4, 2]]
def fuction(nums_array,choose):
nums = [x[choose] for x in nums_array]
def quickSort(nums_array,nums,start,end):
if start < end:
mid = nums[start]
left = start+1
right = end
while left <= right:
while left <= right and nums[left] <= mid:
left += 1
while left <= right and nums[right] >= mid:
right -= 1
if left <= right:
nums[left],nums[right] = nums[right],nums[left]
nums_array[left],nums_array[right] = \