二维数组排序 {1, 4, 3, 2}, {8, 6, 7, 5}, {9, 11, 10, 12} 排序结果为 {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}
时间: 2023-09-30 12:11:43 浏览: 55
你可以使用任何常用的排序算法来对二维数组进行排序,比如冒泡排序、选择排序、插入排序、归并排序等等。
这里以归并排序为例,代码如下:
```python
def merge_sort(arr):
if len(arr) <= 1:
return arr
mid = len(arr) // 2
left = merge_sort(arr[:mid])
right = merge_sort(arr[mid:])
return merge(left, right)
def merge(left, right):
i, j = 0, 0
res = []
while i < len(left) and j < len(right):
if left[i][0] < right[j][0]:
res.append(left[i])
i += 1
elif left[i][0] > right[j][0]:
res.append(right[j])
j += 1
else:
if left[i][1] < right[j][1]:
res.append(left[i])
i += 1
else:
res.append(right[j])
j += 1
res += left[i:]
res += right[j:]
return res
arr = [[1, 4, 3, 2], [8, 6, 7, 5], [9, 11, 10, 12]]
sorted_arr = [merge_sort(x) for x in arr]
print(sorted_arr)
```
这里的排序算法是归并排序,首先将二维数组按行进行排序,然后再按列进行排序。在归并过程中,我们需要比较每个元素的第一个值,如果相等,则比较第二个值。最后得到排序后的二维数组。
阅读全文