Computer >> Máy Tính >  >> Lập trình >> Python

Để in tất cả các phần tử theo thứ tự được sắp xếp từ ma trận được sắp xếp theo hàng và cột trong Python

Đôi khi chúng ta cần tất cả các phần tử của ma trận theo một thứ tự đã được sắp xếp. Nhưng vì ma trận có dạng hàng và cột, chúng ta không áp dụng các thuật toán sắp xếp thông thường để lấy kết quả. Thay vào đó, chúng tôi sử dụng các hàm do người dùng định nghĩa bên dưới để sắp xếp các phần tử.

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("Sorted values are")
for i in range(n):
   print("%d" % x[i])

Chạy đoạn mã trên cho chúng ta kết quả sau -

Đầu ra

Sorted values are
2
3
4
9
11
15
32
50
75