在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
热门推荐
10 祝贺新婚祝福语古代简短
11 分手快乐祝福语简短
12 圣诞简短祝福语给父母
13 档案调动孩子祝福语简短
14 双十一祝福语大全简短
15 对上司的简短祝福语
16 写生日祝福语简短唯美
17 最美的留言祝福语简短
18 公司年终晚会祝福语简短