【发布时间】:2021-05-27 09:53:15
【问题描述】:
大家好,我正在开展一个项目,该项目将计算每种排序方法对二维数字数组进行排序的速度。但是我似乎找不到任何可用于对二维数组进行排序的方法。 我的选择排序如下:
def selection(arr):
for i in range(len(arr)):
min_idx = i
for j in range(i+1, len(arr)):
if arr[min_idx] > arr[j]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
我的插入代码如下:
def insertionSort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i-1
while j >=0 and key < arr[j] :
arr[j+1] = arr[j]
j -= 1
arr[j+1] = key
我创建二维数组的方式是:
arrayInput = int(input("please input the number of arrays: \n"))
amountInput = int(input("please enter how many numbers per array: \n"))
arr = np.empty((arrayInput, amountInput))
x = arr
y = x
for i in range(arrayInput):
for j in range(amountInput):
arr[i][j] = random.randint(0,100)
我想知道如何将我的选择和插入排序函数转换为能够对二维数组进行排序。 所以如果我的输入是数组 =
input = [
[2,4,3,1,5],
[3,4,5,2,3]
]
我希望函数通过插入和选择对数组进行排序 输出
expected_output = [
[1,2,3,4,5],
[2,3,3,4,5]
]
如果我有一些不正确的术语,我们深表歉意。
【问题讨论】:
-
“排序二维数组”是什么意思?你能给出一个示例输入和预期输出吗?
-
所以我想采取类似 array = [[2,4,3,1,5,][3,4,5,2,3]] 的东西,我希望它是选择和插入排序到排序数组 = [[1,2,3,4,5][2,3,3,4,5]] 我希望这能澄清我的意思
-
修改您的问题,而不是使用 cmets。
-
我刚刚编辑了我的帖子。很抱歉造成误解。
标签: python arrays multidimensional-array insertion-sort selection-sort