कभी-कभी हमें मैट्रिक्स के सभी तत्वों को क्रमबद्ध क्रम में चाहिए होता है। लेकिन चूंकि मैट्रिक्स पंक्तियों और स्तंभों के रूप में होता है, हम सामान्य क्रमबद्ध एल्गोरिदम लागू करके परिणाम प्राप्त नहीं करते। बल्कि हम नीचे दिए गए उपयोगकर्ता-परिभाषित फ़ंक्शन का उपयोग करके तत्वों को क्रमबद्ध करते हैं।
उदाहरण
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
निष्कर्ष
हीप सॉर्ट का उपयोग करके मैट्रिक्स तत्वों को क्रमबद्ध क्रम में प्रिंट करें।