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