在Python中按行和列的排序矩阵按排序顺序打印所有元素

有时我们需要按排序的顺序排列矩阵的所有元素。但是由于矩阵是行和列的形式,因此我们不应用通常的排序算法来获取结果。相反,我们使用下面的用户定义函数来对元素进行排序。

示例

def heapq(a, k, i):

   greater = i

   l = 2 * i + 1

   r = 2 * i + 2

   if l < k and a[i] < a[l]:

      greater = l

   if r < k and a[greater] < a[r]:

      greater = r

   if greater != i:

      a[i], a[greater] = a[greater], a[i]

      heapq(a, k, greater)

def Sort(val):

   n = len(val)

   for i in range(n, -1, -1):

      heapq(val, n, i)

   for i in range(n - 1, 0, -1):

      val[i], val[0] = val[0], val[i]

      heapq(val, i, 0)

x = [11, 3, 50, 75, 4, 32, 9, 2, 15]

Sort(x)

n = len(x)

print("Sorted values are")

for i in range(n):

   print("%d" % x[i])

运行上面的代码给我们以下结果-

输出结果

Sorted values are

2

3

4

9

11

15

32

50

75

以上是 在Python中按行和列的排序矩阵按排序顺序打印所有元素 的全部内容, 来源链接: utcz.com/z/351497.html

回到顶部