Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

In tất cả phần tử theo thứ tự từ ma trận đã sắp xếp hàng và cột trong Python


Đôi khi cần tất cả phần tử ma trận theo thứ tự sắp xếp. Ma trận dạng hàng/cột không áp dụng thuật toán sort thông thường. Dùng hàm tự định nghĩa dưới.

Ví dụ

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("Giá trị đã sắp xếp:")
for i in range(n):
    print("%d" % x[i])

Kết quả

Giá trị đã sắp xếp: 2 3 4 9 11 15 32 50 75